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 hashes)
Built Distribution
Close
Hashes for llm_functions-0.1.21-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d709814a5cb255c9626f15adfcf9a55e3f754079a41c7c569e164219ab7036f9 |
|
MD5 | ad91bca28b1f0a6c4cb5a3697ada3038 |
|
BLAKE2b-256 | 13797207465f4f68f4f55bb02e4e6e8cd93eec024ae241ae5ddb6140875a8b70 |