No project description provided
Project description
OpenAI functions
The openai-functions
Python project simplifies the usage of OpenAI's function calling feature. It abstracts away the complexity of parsing function signatures and docstrings by providing developers with a clean and intuitive interface.
Installation
You can install openai-functions
from PyPI using pip:
pip install openai-functions
Usage
- Import the necessary modules:
import enum
import openai
from openai_functions import Conversation
- Create a
Conversation
instance:
conversation = Conversation()
- Define your functions using the
@conversation.add_function
decorator:
class Unit(enum.Enum):
FAHRENHEIT = "fahrenheit"
CELSIUS = "celsius"
@conversation.add_function()
def get_current_weather(location: str, unit: Unit = Unit.FAHRENHEIT) -> dict:
"""
Get the current weather in a given location.
Args:
location (str): The city and state, e.g., San Francisco, CA
unit (Unit): The unit to use, e.g. fahrenheit or celsius
Returns:
dict: A dictionary containing the current weather
"""
weather_info = {
"location": location,
"temperature": "72",
"unit": unit.value,
"forecast": ["sunny", "windy"],
}
return weather_info
- Add user messages using the
conversation.add_message
method:
conversation.add_message(
{
"role": "user",
"content": "What's the weather in San Francisco?",
}
)
- Call the
conversation.run_until_response()
method to trigger the conversation and retrieve the response:
print(conversation.run_until_response())
How it Works
openai-functions
takes care of the following tasks:
- Parsing the function signatures and docstrings.
- Sending the conversation and function descriptions to the OpenAI model.
- Deciding whether to call a function based on the model's response.
- Calling the appropriate function with the provided arguments.
- Updating the conversation with the function response.
- Repeating the process until the model generates a user-facing message.
This abstraction allows developers to focus on defining their functions and adding user messages without worrying about the details of function calling.
Note
Please note that openai-functions
is an unofficial project not maintained by OpenAI. Use it at your discretion.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for openai_functions-0.4.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 97f5fce79ea9dbc062643b66c7672c2fc921b15f38cb56cc535e0bf4d44e7a08 |
|
MD5 | 8b27dd7c3cadcaef7fffd15596499fa4 |
|
BLAKE2b-256 | 4951d113a4c32f96e6d3f22ddba367ea10c9647448b76cfedd2161489970c0e0 |