Skip to main content

Build semantic functions.

Project description

LLM Functions ⚙️

Easily define custom LLM (Language Learning Model) functions with structured input and output.

Getting Started

1. Installation

Install the package using pip:

pip install llm-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 LLM Function in Python

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

from llm_functions import LLMFunction

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

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

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

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

llm_functions-0.1.21.tar.gz (4.0 kB view details)

Uploaded Source

Built Distribution

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

llm_functions-0.1.21-py3-none-any.whl (4.7 kB view details)

Uploaded Python 3

File details

Details for the file llm_functions-0.1.21.tar.gz.

File metadata

  • Download URL: llm_functions-0.1.21.tar.gz
  • Upload date:
  • Size: 4.0 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 llm_functions-0.1.21.tar.gz
Algorithm Hash digest
SHA256 1274e50cf5b86648617e64d8a407c1d4e75ada479ad6474d841f088420d7921b
MD5 2e6a350d86b9e705e2f5002c0cb22557
BLAKE2b-256 cdcdd140fb8a07bc191f6c226b3f09d037cc3f4b957ecd3dd6017d3457f3292f

See more details on using hashes here.

File details

Details for the file llm_functions-0.1.21-py3-none-any.whl.

File metadata

  • Download URL: llm_functions-0.1.21-py3-none-any.whl
  • Upload date:
  • Size: 4.7 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 llm_functions-0.1.21-py3-none-any.whl
Algorithm Hash digest
SHA256 d709814a5cb255c9626f15adfcf9a55e3f754079a41c7c569e164219ab7036f9
MD5 ad91bca28b1f0a6c4cb5a3697ada3038
BLAKE2b-256 13797207465f4f68f4f55bb02e4e6e8cd93eec024ae241ae5ddb6140875a8b70

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