Simple OpenAI API wrapper
Project description
simple-openai
This is a simple wrapper around the OpenAI API. It's not meant to be a full-featured library, but rather a simple way to get started with the API.
The library provides both synchronous and asynchronous methods for interacting with the API.
Installation
Install using pip:
pip install simple-openai
Usage
Calling the API
For the synchronous version, you can use the following code:
from simple_openai import SimpleOpenai
def main():
# Initialise a storage location
storage_location = Path("/path/to/storage")
# Create a system message
system_message = "You are a helpful chatbot. You are very friendly and helpful. You are a good friend to have."
# Create the client
client = SimpleOpenai(api_key, system_message, storage_location)
# Create tasks for the chat response and the image response
result = client.get_chat_response("Hello, how are you?", name="Bob", chat_id="Group 1")
# Print the result
if result.success:
# Print the message
print(f'Success: {result.message}')
else:
# Print the error
print(f'Error: {result.message}')
result = client.get_image_url("A cat")
# Print the result
if result.success:
# Print the message
print(f'Success: {result.message}')
else:
# Print the error
print(f'Error: {result.message}')
if __name__ == "__main__":
# Run the main function
main()
For the asynchronous version, you can use the following code:
from simple_openai import AsyncSimpleOpenai
import asyncio
async def main():
# Initialise a storage location
storage_location = Path("/path/to/storage")
# Create a system message
system_message = "You are a helpful chatbot. You are very friendly and helpful. You are a good friend to have."
# Create the client
client = AsyncSimpleOpenai(api_key, system_message, storage_location)
# Create tasks for the chat response and the image response
tasks = [
client.get_chat_response("Hello, how are you?", name="Bob", chat_id="Group 1"),
client.get_image_url("A cat"),
]
# Wait for the tasks to complete
for task in asyncio.as_completed(tasks):
# Get the result
result = await task
# Print the result
if result.success:
# Print the message
print(f'Success: {result.message}')
else:
# Print the error
print(f'Error: {result.message}')
if __name__ == "__main__":
# Run the main function
asyncio.run(main())
Output
The output of the functions is a SimpleOpenaiResponse object, which contains the following properties:
success
- A boolean indicating whether the request was successful or not.message
- The message returned by the API.
Functions
Functions can be added to the client using the add_function
method. This method takes a function name and a function as arguments. The function should take an OpenAIFunction object as its first argument, and the Python function itself as the second argument.
The Python function should return a string, which will be passed to the API using the function
role
Documentation
The documentation is available on GitHub
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
File details
Details for the file simple_openai-4.2.0.tar.gz
.
File metadata
- Download URL: simple_openai-4.2.0.tar.gz
- Upload date:
- Size: 22.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.13.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 78f4ca4b813932702f3c7e3fe12bde377b23f9ba8a9cf511446ce259d5295f04 |
|
MD5 | 9ebb8741ca2c384f80c1b3b74edd02cc |
|
BLAKE2b-256 | 1a6bd44f066619d4f4face19ea2f61a58a5266ff625c80aec97fdb099355bed5 |
File details
Details for the file simple_openai-4.2.0-py3-none-any.whl
.
File metadata
- Download URL: simple_openai-4.2.0-py3-none-any.whl
- Upload date:
- Size: 21.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.13.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3b1b9da4bea76d74b35c47a3e757439ecee72a67aa8515aff71936b2a5848190 |
|
MD5 | ca95aad0161d39250334feda1beddf65 |
|
BLAKE2b-256 | d7f4c9f9707552dbd743e71bf3ee26b417e95a2423ed98026a8b1d9e093083d0 |