Skip to main content

Build semantic functions.

Project description

Prompt Functions ⚙️

Easily define custom prompt functions with structured input and output.

Getting Started

1. Installation

Install the package using pip:

pip install prompt-functions

2. Setting Up Your First Function

Let's create a sentiment classification function:

Step 1: Create a directory named sentiment. Inside this directory, you need two files:

└─ sentiment
   ├── function_args.json
   ├── model_args.json
   └── template.txt

Step 2: Define your prompt template in template.txt:

Aalyze and determine whether the sentiment of the following sentence is positive, negative, or neutral.
Sentence:
{sentence}

Step 3: Set model paramters in model_args.json:

{
    "temperature": 0.0,
    "model": "gpt-3.5-turbo"
}

Step 4: Specify the function's output format in function_args.json:

{
    "function_name": "sentiment_classifier",
    "description": "Classify the sentiment of a sentence",
    "properties": {
        "thoughts": {
            "type": "string",
            "description": "Your thoughts when classifying sentiment of the given sentence."
        },
        "sentiment": {
            "type": "string",
            "enum": ["positive", "negative", "neutral"],
            "description": "The sentiment of the given sentence."
        }
    }
}

3. Using Your Prompt Function in Python

Here's how you can load and use your prompt function:

from prompt_functions import PromptFunction

# Load your function
sentiment = PromptFunction.from_dir("./sentiment/")

# Make a prediction
pred = sentiment(sentence="I am super happy!")

# Expected Output:
# {
#   "thoughts": "The sentiment in the sentence is positive",
#   "sentiment": "positive"
# }

Prompt Versioning

Coming up..

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

prompt_functions-0.1.23.tar.gz (4.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

prompt_functions-0.1.23-py3-none-any.whl (4.8 kB view details)

Uploaded Python 3

File details

Details for the file prompt_functions-0.1.23.tar.gz.

File metadata

  • Download URL: prompt_functions-0.1.23.tar.gz
  • Upload date:
  • Size: 4.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.5.1 CPython/3.9.6 Darwin/22.4.0

File hashes

Hashes for prompt_functions-0.1.23.tar.gz
Algorithm Hash digest
SHA256 d95f3bca5f7f2c1064b8c4e3e0da9fae2d23bce9e96f57bbdd6f5b4bf09c8522
MD5 130ad36136df58ba14223dfb33acac3e
BLAKE2b-256 3d39c96662c249a0c6ab50f7efbdd3dbf0c109207fceff93d0c05976e1b474ce

See more details on using hashes here.

File details

Details for the file prompt_functions-0.1.23-py3-none-any.whl.

File metadata

  • Download URL: prompt_functions-0.1.23-py3-none-any.whl
  • Upload date:
  • Size: 4.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.5.1 CPython/3.9.6 Darwin/22.4.0

File hashes

Hashes for prompt_functions-0.1.23-py3-none-any.whl
Algorithm Hash digest
SHA256 d8714bc6477769be2e1b3682383a68505cd21b2360e0a4264267c739325cdf78
MD5 e32567fb7b355c51f5196322afb200d7
BLAKE2b-256 6ee4fdfe166fcfe91d1bf20bdd2f58c9c4520cbf4d79cdaf1e88c69049ac0941

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page