AiManagerToolkit 🤖
AiManagerToolkit es una librería Python diseñada para simplificar la interacción con la API de Azure OpenAI. Esta herramienta proporciona una forma flexible y eficiente de gestionar conversaciones con modelos de lenguaje, integrar herramientas personalizadas, generar respuestas estructuradas, y manejar funcionalidades de voz y texto, ideal para desarrolladores que buscan aprovechar la potencia de la inteligencia artificial en sus aplicaciones.
Características ✨
- Soporte para Azure OpenAI: Fácil integración con la plataforma de Azure.
- 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 Streaming: Manejo de conversaciones tanto en modo sincrónico como en streaming.
- Embeddings: Generación y manejo de embeddings de texto.
- Speech to Text (STT): Transcripción y traducción de audio a texto.
- Text to Speech (TTS): Generación de audio a partir de texto.
- Logging Configurable: Sistema de logging integrado para monitorear y depurar las interacciones.
- Manejo Avanzado de Mensajes: Nueva clase Message para una gestión eficiente de conversaciones y tipos de contenido.
Instalación 🚀
Puedes instalar AiManagerToolkit desde PyPI utilizando pip:
pip install AiManagerToolkit
Uso Básico 💻
1. Configuración Inicial 🛠️
Configura la conexión a la API de 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_DEPLOYMENT=gpt-4o
AZURE_OPENAI_ENDPOINT=https://tu-endpoint.azure.com/
AZURE_OPENAI_API_KEY=tu-clave-api
AZURE_OPENAI_API_VERSION=2024-06-01
AZURE_OPENAI_EMBEDDINGS_MODEL=text-embedding-3-small
Configuración en el Código 🔧
Puedes pasar la configuración directamente en tu código:
from aimanagertoolkit.ai import AzureAI, OpenAI
# Para Azure OpenAI
azure_ai = AzureAI(
model="gpt-4o",
azure_endpoint="https://tu-endpoint.azure.com/",
api_key="tu-clave-api",
temperature=0.7
)
# Para OpenAI
openai_ai = OpenAI(
api_key="tu-clave-api-openai",
model="gpt-4",
temperature=0.7
)
2. Ejemplo de Uso de Chat 🔄
from aimanagertoolkit.ai import AzureAI
from aimanagertoolkit.messages import AzureAI
azure_ai = AzureAI()
conversation = Message("Eres un asistente útil.")
conversation.add_message(UserMessage("¿Cuál es el estado de mi pedido?"))
response = azure_ai.chat(conversation)
print(response.choices[0].message.content)
3. Generación de Embeddings 📊
embedding = azure_ai.embeddings("Texto para generar embedding")
print(embedding.data[0].embedding)
4. Transcripción de Audio 🎙️
transcription = azure_ai.transcribe("ruta/al/archivo/audio.mp3")
print(transcription)
5. Generación de Voz 🔊
azure_ai.speech("Texto para convertir en voz", output_file_path="salida.mp3")
6. Cálculo de Similitud Coseno 📐
vector1 = [1, 2, 3]
vector2 = [4, 5, 6]
similarity = azure_ai.cosine_similarity(vector1, vector2)
print(f"Similitud coseno: {similarity}")
7. Manejo Avanzado de Mensajes 💬
from AiManagerToolkit import Message, SystemMessage, UserMessage
# Iniciar una conversación
conversation = Message(SystemMessage("Eres un asistente útil."))
# Añadir mensajes a la conversación
conversation.add_message(UserMessage("Hola, ¿cómo estás?"))
conversation.add_message("¿Puedes ayudarme con una tarea?")
# Obtener la conversación completa
full_conversation = conversation.get_full_conversation()
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 🛤️
- 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.
- Integración con más servicios de Azure AI.
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. 😊
Metadata
Release files for aimanagertoolkit 0.1.12
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| aimanagertoolkit-0.1.12.tar.gz | 17.5 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| aimanagertoolkit-0.1.12-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 38.4 kB
Release files / aimanagertoolkit-0.1.12.tar.gz
| Download URL | aimanagertoolkit-0.1.12.tar.gz |
|---|---|
| Size | 17.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
0da14617c1c8a3e70e4dfa4d7750aae4d2237a3fe8c0c4577220edd94b93da93
|
|
BLAKE2b-256 checksum How to use checksums |
d5f1e887366141b23bf677bfb1e35c612f266ca72ef2346fcd80ed176e378f31
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.0.1 CPython/3.13.0
|
Release files / aimanagertoolkit-0.1.12-py3-none-any.whl
| Download URL | aimanagertoolkit-0.1.12-py3-none-any.whl |
|---|---|
| Size | 20.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
9f650a293d7939c326c5a6f72c7c4f9c6a152cba5be18c86ffdf83c84b06a43d
|
|
BLAKE2b-256 checksum How to use checksums |
84d2f1a778ca09d439474cbeb0cb805cb04f93e40ddf0ba38b1128815abb6418
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.0.1 CPython/3.13.0
|
Security for aimanagertoolkit 0.1.12
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.