Skip to main content

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


Download files

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

Source Distribution

simple_openai-4.2.0.tar.gz (22.2 kB view details)

Uploaded Source

Built Distribution

simple_openai-4.2.0-py3-none-any.whl (21.6 kB view details)

Uploaded Python 3

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

Hashes for simple_openai-4.2.0.tar.gz
Algorithm Hash digest
SHA256 78f4ca4b813932702f3c7e3fe12bde377b23f9ba8a9cf511446ce259d5295f04
MD5 9ebb8741ca2c384f80c1b3b74edd02cc
BLAKE2b-256 1a6bd44f066619d4f4face19ea2f61a58a5266ff625c80aec97fdb099355bed5

See more details on using hashes here.

File details

Details for the file simple_openai-4.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for simple_openai-4.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3b1b9da4bea76d74b35c47a3e757439ecee72a67aa8515aff71936b2a5848190
MD5 ca95aad0161d39250334feda1beddf65
BLAKE2b-256 d7f4c9f9707552dbd743e71bf3ee26b417e95a2423ed98026a8b1d9e093083d0

See more details on using hashes here.

Supported by

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