Skip to main content

Unofficial Python client library for the OpenAI and Azure OpenAI APIs

Project description

GPRU: Unofficial Python Client Library for the OpenAI and Azure OpenAI APIs

PyPI PyPI - Version PyPI - Python Version License

CI/CD test lint

Build System Hatch project

Code pre-commit Code style: black Imports: isort Checked with mypy Ruff

Docstrings docformatter numpy


GPRU is an unofficial Python client library for the OpenAI and Azure OpenAI APIs with improved usability through comprehensive annotations.

WARNING: GPRU is currently under development and any destructive changes may be made until version 1.0.0.

Installation

pip install gpru

Examples

OpenAI API

Notes Before anything else, you must ensure that the API key is set as an environment variable named OPENAI_API_KEY.

Here is an example of chat completion, also known as ChatGPT.

import os

from gpru.openai.api import (
    ChatCompletionModel,
    ChatCompletionRequest,
    OpenAiApi,
    UserMessage,
)

key = os.environ["OPENAI_API_KEY"]
api = OpenAiApi(key)

req = ChatCompletionRequest(
    model=ChatCompletionModel.GPT_35_TURBO, messages=[UserMessage("Hello!")]
)
chat_completion = api.create_chat_completion(req)
print(chat_completion.content)
# Greetings! How can I assist you today?

Azure OpenAI API

The following code replaces the same example with the Azure OpenAI API.

Notes Set the following environment variables before executing the program.

Variable name Value
AZURE_OPENAI_API_ENDPOINT URL in the form of https://{your-resource-name}.openai.azure.com/.
AZURE_OPENAI_API_KEY Secret key.
AZURE_OPENAI_API_DEPLOYMENT_ID Custom name you chose for your deployment when you deployed a model.
import os

from gpru.azure.preview_2023_06_01 import (
    AzureOpenAiApi,
    ChatCompletionRequest,
    UserMessage,
)

endpoint = os.environ["AZURE_OPENAI_API_ENDPOINT"]
key = os.environ["AZURE_OPENAI_API_KEY"]
deployment_id = os.environ["AZURE_OPENAI_API_DEPLOYMENT_ID"]
api = AzureOpenAiApi(endpoint, key)

req = ChatCompletionRequest(messages=[UserMessage("Hello!")])
chat_completion = api.create_chat_completion(deployment_id, req)
print(chat_completion.content)
# Greetings! How can I assist you today?

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

gpru-0.2.0.tar.gz (77.0 kB view details)

Uploaded Source

Built Distribution

gpru-0.2.0-py3-none-any.whl (83.9 kB view details)

Uploaded Python 3

File details

Details for the file gpru-0.2.0.tar.gz.

File metadata

  • Download URL: gpru-0.2.0.tar.gz
  • Upload date:
  • Size: 77.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-httpx/0.24.1

File hashes

Hashes for gpru-0.2.0.tar.gz
Algorithm Hash digest
SHA256 eb806017d00be389c632de1e7b5db9b90dd89ac90787d782e2cbf3a6e1395274
MD5 69f04ee186f22d214a3771e60bd666b2
BLAKE2b-256 76f8564e04241b8325c3d7d7384b04811cdf1152291a6f3ca1d62d4451c80d79

See more details on using hashes here.

File details

Details for the file gpru-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: gpru-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 83.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-httpx/0.24.1

File hashes

Hashes for gpru-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 22f1738c3f1c71f8ea1070664d91ee7af9857bd66358167cfb2d1d2f1e54192c
MD5 408d8424e61d9cc6923c02f2ceb67774
BLAKE2b-256 1a9ae5d44c00a67fb7e27f98def1c7b8b745ea5a4534edc04ec888b0ac6b696f

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