Skip to main content

A toolkit for working with OpenAI and Azure OpenAI API

Project description

AiManagerToolkit 🤖

Python License AzureOpenAI OpenAI

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:

  1. Realiza un fork del repositorio.
  2. Crea una nueva rama (git checkout -b feature/mi-nueva-funcionalidad).
  3. Realiza tus cambios y haz commit (git commit -am 'Añadir nueva funcionalidad').
  4. Haz push a la rama (git push origin feature/mi-nueva-funcionalidad).
  5. 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

aimanagertoolkit-0.1.0.tar.gz (9.0 kB view details)

Uploaded Source

Built Distribution

AiManagerToolkit-0.1.0-py3-none-any.whl (12.7 kB view details)

Uploaded Python 3

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

Hashes for aimanagertoolkit-0.1.0.tar.gz
Algorithm Hash digest
SHA256 065303ae9e359d1a698c7a185943955ed7488f0b1e61cf2a46d0c151c8c8bad0
MD5 d005fc0399cf044c4c1e4aec91e7f0d2
BLAKE2b-256 72a7ffcf7dced4c7420f60c4ccee9df97b1b254f95e34e746fe9c13f5ef5ed30

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for AiManagerToolkit-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8f7bc06f617c171051998cca0aa59665bfde9421e61cea5a615cf4016447047e
MD5 564ff3d9d800a1fc45e7de0949c3999c
BLAKE2b-256 e8ef5a74e8d1ce6c7c8e002a69548192312024932938602bfc817bd7f64d2b31

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