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.3.1.tar.gz (22.3 kB view details)

Uploaded Source

Built Distribution

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

simple_openai-4.3.1-py3-none-any.whl (21.8 kB view details)

Uploaded Python 3

File details

Details for the file simple_openai-4.3.1.tar.gz.

File metadata

  • Download URL: simple_openai-4.3.1.tar.gz
  • Upload date:
  • Size: 22.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.13.1

File hashes

Hashes for simple_openai-4.3.1.tar.gz
Algorithm Hash digest
SHA256 676063fa61bcd54b83c28b55622fc695e3826a2e6ca4c9af580bd520c039869e
MD5 068db295bcd1d73c8a58b9de2765add1
BLAKE2b-256 8c05d3f8565e88364b48083b14423fa1279ce53e3e3a300bd22f259c236b3e74

See more details on using hashes here.

File details

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

File metadata

  • Download URL: simple_openai-4.3.1-py3-none-any.whl
  • Upload date:
  • Size: 21.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.13.1

File hashes

Hashes for simple_openai-4.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 f6f6f343598bc6cac28889d93f8d3c22f25469a39e0cad66435f62303babb280
MD5 d95b1d69a916304e5a26e2d788d2e496
BLAKE2b-256 010f66454754997443eff363a47adb01bfc91ec8571e210686a22ca633f0da57

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