A toolkit for working with OpenAI and Azure OpenAI API
Project description
AiManagerToolkit 🤖
AiManagerToolkit
es una librería Python diseñada para simplificar la interacción con las APIs de OpenAI y Azure OpenAI. Esta herramienta proporciona una forma flexible y eficiente de gestionar conversaciones con modelos de lenguaje, integrar herramientas personalizadas y generar respuestas estructuradas, ideal para desarrolladores que buscan aprovechar la potencia de la inteligencia artificial en sus aplicaciones.
Características ✨
- Soporte para OpenAI y Azure OpenAI: Fácil integración con ambas plataformas.
- Herramientas Personalizadas: Define y registra herramientas para mejorar las interacciones con el modelo.
- Salidas Estructuradas: Genera respuestas en formato JSON basadas en esquemas definidos.
- Chat Sincrónico y Asíncrono: Manejo de conversaciones tanto en modo sincrónico como en streaming.
- Logging Configurable: Sistema de logging integrado para monitorear y depurar las interacciones.
Instalación 🚀
Puedes instalar AiManagerToolkit
desde PyPI utilizando pip:
pip install AiManagerToolkit
Uso Básico 💻
1. Configuración Inicial 🛠️
Puedes configurar la conexión a las APIs de OpenAI o Azure OpenAI utilizando variables de entorno o parámetros en el código.
Configuración utilizando .env
🌐
Crea un archivo .env
en el directorio raíz de tu proyecto con las credenciales necesarias:
AZURE_OPENAI_MODEL=gpt-4o
AZURE_OPENAI_ENDPOINT=https://tu-endpoint.azure.com/
AZURE_OPENAI_API_KEY=tu-clave-api
AZURE_OPENAI_API_VERSION=2023-05-15
Configuración en el Código 🔧
Puedes pasar la configuración directamente en tu código:
from AiManagerToolkit import AzureAiToolkit
# Inicializa la herramienta con configuración personalizada
azure_ai = AzureAiToolkit(
model="gpt-4o",
azure_endpoint="https://tu-endpoint.azure.com/",
api_key="tu-clave-api",
temperature=0.7
)
2. Ejemplo de Uso Sincrónico 🔄
from AiManagerToolkit import AzureAiToolkit, user
# Inicializa la herramienta con la configuración predeterminada o personalizada
azure_ai = AzureAiToolkit()
# Crear un mensaje de usuario y obtener la respuesta
messages = [user("¿Cuál es el estado de mi pedido?")]
response = azure_ai.chat(messages)
print(response)
3. Ejemplo de Uso con Herramientas 🔧
from AiManagerToolkit import Tool, Toolbox, AzureAiToolkit, user
# Definir una nueva herramienta
tool = Tool(
name="get_weather",
description="Obtén el clima para una ubicación dada",
parameters={
"type": "object",
"properties": {
"location": {"type": "string", "description": "Ubicación para el clima"},
"unit": {"type": "string", "enum": ["C", "F"], "description": "Unidad de temperatura"}
},
"required": ["location", "unit"]
},
strict=True
)
# Registrar la herramienta
Toolbox.register_tool(tool)
# Usar la herramienta en una conversación
messages = [user("¿Cómo está el clima en Santiago?")]
azure_ai = AzureAiToolkit()
response = azure_ai.chat(messages, tools=Toolbox.get_tools())
print(response)
4. Logging Personalizado 📜
El sistema de logging integrado te permite personalizar el nivel de log y elegir si quieres guardar los logs en un archivo o solo en consola.
from AiManagerToolkit import log
# Cambia el nivel de logging
log.setLevel("INFO")
# Loggea un mensaje
log.info("Este es un mensaje de información.")
Contribuciones 👥
¡Las contribuciones son bienvenidas! Si deseas contribuir al proyecto, sigue estos pasos:
- Realiza un fork del repositorio.
- Crea una nueva rama (
git checkout -b feature/mi-nueva-funcionalidad
). - Realiza tus cambios y haz commit (
git commit -am 'Añadir nueva funcionalidad'
). - Haz push a la rama (
git push origin feature/mi-nueva-funcionalidad
). - Crea un nuevo Pull Request.
Roadmap 🛤️
- Integración con otras plataformas de IA.
- Mejoras en la documentación con ejemplos avanzados.
- Añadir más tests unitarios y de integración.
- Soporte para operaciones avanzadas con Azure OpenAI.
Licencia 📄
Este proyecto está licenciado bajo la Licencia MIT - consulta el archivo LICENSE para más detalles.
¡Gracias por usar AiManagerToolkit
! Si tienes alguna pregunta o sugerencia, no dudes en abrir un issue en el repositorio. 😊
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
File details
Details for the file aimanagertoolkit-0.1.0.tar.gz
.
File metadata
- Download URL: aimanagertoolkit-0.1.0.tar.gz
- Upload date:
- Size: 9.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.11.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 065303ae9e359d1a698c7a185943955ed7488f0b1e61cf2a46d0c151c8c8bad0 |
|
MD5 | d005fc0399cf044c4c1e4aec91e7f0d2 |
|
BLAKE2b-256 | 72a7ffcf7dced4c7420f60c4ccee9df97b1b254f95e34e746fe9c13f5ef5ed30 |
File details
Details for the file AiManagerToolkit-0.1.0-py3-none-any.whl
.
File metadata
- Download URL: AiManagerToolkit-0.1.0-py3-none-any.whl
- Upload date:
- Size: 12.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.11.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8f7bc06f617c171051998cca0aa59665bfde9421e61cea5a615cf4016447047e |
|
MD5 | 564ff3d9d800a1fc45e7de0949c3999c |
|
BLAKE2b-256 | e8ef5a74e8d1ce6c7c8e002a69548192312024932938602bfc817bd7f64d2b31 |