Skip to main content

Toolkit for fast and flexible integration with Azure OpenAI

Project description

PyPI - Python Version License: MIT

rsazure-openai-toolkit

A lightweight, independent toolkit to simplify and accelerate integration with Azure OpenAI.


Installation

From PyPI:

pip install rsazure-openai-toolkit

From GitHub:

pip install git+https://github.com/renan-siqueira/rsazure-openai-toolkit

Usage

from rsazure_openai_toolkit import call_azure_openai_handler

response = call_azure_openai_handler(
    api_key="your-api-key",
    azure_endpoint="https://your-resource.openai.azure.com/",
    api_version="2023-12-01-preview",
    deployment_name="gpt-35-turbo",
    messages=[
        {"role": "system", "content": "You are a helpful assistant."},
        {"role": "user", "content": "Summarize what artificial intelligence is."}
    ]
)

print(response)

Environment Configuration

To simplify local development and testing, this toolkit supports loading environment variables from a .env file.

Create a .env file in your project root (or copy the provided .env.example) and add your Azure OpenAI credentials:

AZURE_OPENAI_API_KEY=your-api-key
AZURE_OPENAI_ENDPOINT=https://your-resource.openai.azure.com/
AZURE_OPENAI_API_VERSION=2023-12-01-preview
AZURE_DEPLOYMENT_NAME=your-deployment-name

In your script, load the environment variables before calling the handler:

from dotenv import load_dotenv
import os

load_dotenv()  # defaults to loading from .env in the current directory

from rsazure_openai_toolkit import call_azure_openai_handler

response = call_azure_openai_handler(
    api_key=os.getenv("AZURE_OPENAI_API_KEY"),
    azure_endpoint=os.getenv("AZURE_OPENAI_ENDPOINT"),
    api_version=os.getenv("AZURE_OPENAI_API_VERSION"),
    deployment_name=os.getenv("AZURE_DEPLOYMENT_NAME"),
    messages=[...]
)

Features

  • Modular and easy to extend
  • Retry mechanism with exponential backoff
  • Accepts OpenAI-compatible parameters
  • Ready for production use

Requirements

  • Python 3.9+
  • Azure OpenAI resource and deployment

License

This project is open-sourced and available to everyone under the MIT License.


🚨 Possible Issues

  • Invalid API Key or Endpoint
    Ensure your AZURE_OPENAI_API_KEY and AZURE_OPENAI_ENDPOINT are correctly set in your .env file.

  • Deployment Not Found
    Check that your deployment_name matches exactly the name defined in your Azure OpenAI resource.

  • Timeouts or 5xx Errors
    The toolkit includes automatic retries with exponential backoff via tenacity. If errors persist, verify network access or Azure service status.

  • Missing Environment Variables
    Always ensure load_dotenv() is called before accessing os.getenv(...), especially when testing locally.


📬 Contact

This project is maintained by Renan Siqueira Antonio.

Feel free to reach out via:

Contributions, suggestions, and bug reports are welcome!

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

rsazure_openai_toolkit-0.1.0.tar.gz (4.3 kB view details)

Uploaded Source

Built Distribution

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

rsazure_openai_toolkit-0.1.0-py3-none-any.whl (5.1 kB view details)

Uploaded Python 3

File details

Details for the file rsazure_openai_toolkit-0.1.0.tar.gz.

File metadata

  • Download URL: rsazure_openai_toolkit-0.1.0.tar.gz
  • Upload date:
  • Size: 4.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.9

File hashes

Hashes for rsazure_openai_toolkit-0.1.0.tar.gz
Algorithm Hash digest
SHA256 df17f5b8ef5f0a82bc75538502d4957cfc62b2fab9ffde3cacc9dd5a69dbc625
MD5 aef9ea894331723495d5e20935446eba
BLAKE2b-256 21819c7521954574986669260413490a31d0a1a4d19516ac348a57e50382b16b

See more details on using hashes here.

File details

Details for the file rsazure_openai_toolkit-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for rsazure_openai_toolkit-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 bcbded25cf32153c2e4d718c641dfd14876467dae885fcafb41c74016709176b
MD5 3eaa6c74f82c8d5a5a60cb8234b71584
BLAKE2b-256 933abee716076f531152d4c22a95f746593695803fc4d06aed9a24f96a62453e

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