Toolkit for fast and flexible integration with Azure OpenAI
Project description
rsazure-openai-toolkit
A lightweight, independent toolkit (with CLI support) 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=[...]
)
🖥️ CLI Usage (rschat)
After installing the package, you can interact with Azure OpenAI directly from your terminal using:
rschat "What can you do for me?"
Make sure you have a valid .env file with your Azure credentials configured:
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
You can also ask in Portuguese (or any supported language):
rschat "Resuma o que é inteligência artificial"
If any required variable is missing, the CLI will exit with a clear error message.
Features
- Modular and easy to extend
- Retry mechanism with exponential backoff
- Accepts OpenAI-compatible parameters
- Ready for production use
- Comes with an intuitive CLI (
rschat) for direct terminal interaction
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 yourAZURE_OPENAI_API_KEYandAZURE_OPENAI_ENDPOINTare correctly set in your.envfile. -
Deployment Not Found
Check that yourdeployment_namematches exactly the name defined in your Azure OpenAI resource. -
Timeouts or 5xx Errors
The toolkit includes automatic retries with exponential backoff viatenacity. If errors persist, verify network access or Azure service status. -
Missing Environment Variables
Always ensureload_dotenv()is called before accessingos.getenv(...), especially when testing locally.
📝 Changelog
Check the Releases page for updates and version history.
See the full list of changes in CHANGELOG.md
🛡️ Security
If you discover any security issues, please report them privately via email: renan.siqu@gmail.com.
🤝 Contributing
Contributions are welcome! Feel free to open issues or pull requests.
To contribute:
- Fork the repo
- Create a feature branch (
git checkout -b feature/my-feature) - Commit your changes
- Open a PR
Please follow PEP8 and ensure your code passes existing tests.
🧠 Design Principles
- Simplicity over complexity
- Focus on production-readiness
- Explicit configuration
- Easy to extend and maintain
👨💻 About the Author
Hi, I'm Renan Siqueira Antonio — a technical leader in Artificial Intelligence with hands-on experience in delivering real-world AI solutions across different industries.
Over the years, I've had the opportunity to collaborate with incredible teams and contribute to initiatives recognized by companies.
This project was born from a personal need: to create a clean, reusable, and production-ready way to interact with Azure OpenAI. I'm sharing it with the hope that it helps others move faster and build better.
📬 Contact
Feel free to reach out via:
- GitHub: github.com/renan-siqueira
- Email: renan.siqu@gmail.com
- Linkedin: linkedin.com/in/renan-siqueira-antonio
Contributions, suggestions, and bug reports are welcome!
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file rsazure_openai_toolkit-0.2.0.tar.gz.
File metadata
- Download URL: rsazure_openai_toolkit-0.2.0.tar.gz
- Upload date:
- Size: 7.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d161070bc721ed01991695efa899a5f039ea61ca3c2be5f902c7cf902a1fb442
|
|
| MD5 |
c09c166e74656402617f3e6c1dfe6d73
|
|
| BLAKE2b-256 |
f496322a82ed4049a899d2913d9154ba901b754dee0cb61a1a831df2eb1bca1c
|
File details
Details for the file rsazure_openai_toolkit-0.2.0-py3-none-any.whl.
File metadata
- Download URL: rsazure_openai_toolkit-0.2.0-py3-none-any.whl
- Upload date:
- Size: 7.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c877110a67d519399b1aff0268edeac4352fc8caa6bc6693e2ceceb2e0c01003
|
|
| MD5 |
78b39e180e8cef88d6628946f79f8c37
|
|
| BLAKE2b-256 |
fd2c205722079afc9b584364834789617fd37093c459d3940c89c3142f6831d5
|