Descripción
magentic es una biblioteca de Python diseñada para simplificar la integración de Modelos de Lenguaje Grandes (LLMs) en sus proyectos de Python. Permite a los desarrolladores tratar las interacciones con LLMs como funciones estándar de Python, aprovechando decoradores como `@prompt` y `@chatprompt` para definir prompts y recibir salidas estructuradas. Este enfoque facilita la creación de sistemas agenticos sofisticados al combinar de forma transparente las capacidades de los LLMs con el código Python existente y herramientas externas.
Leer más
La funcionalidad principal de magentic gira en torno a sus decoradores, que transforman las funciones de Python en operaciones impulsadas por LLMs. El decorador `@prompt` permite la creación de funciones que aceptan argumentos, los insertan en una plantilla de prompt predefinida y luego la envían a un LLM para su procesamiento. La salida del LLM puede ser una cadena simple o un objeto estructurado, como un modelo Pydantic, gracias a las anotaciones de tipo. El decorador `@chatprompt` amplía esto al permitir el uso de plantillas de mensajes de chat, incluyendo mensajes del sistema, mensajes del usuario y mensajes del asistente, lo cual es particularmente útil para el few-shot prompting y la provisión de contexto.
magentic soporta características avanzadas como la llamada a funciones, donde el LLM puede decidir invocar funciones específicas de Python con los argumentos proporcionados. El decorador `@prompt_chain` mejora aún más esto al permitir que los LLMs encadenen llamadas a funciones, utilizando la salida de una llamada como entrada para la siguiente, hasta que se alcance una respuesta final. Para aplicaciones en tiempo real, magentic ofrece capacidades de streaming tanto para salidas de texto como estructuradas, permitiendo a los desarrolladores procesar datos a medida que se generan. La programación asíncrona también está bien soportada, permitiendo consultas concurrentes a LLMs para acelerar significativamente los tiempos de generación.
La biblioteca cuenta con un amplio soporte de proveedores de LLM, incluyendo OpenAI, Anthropic y Ollama, con configuraciones para varias APIs compatibles con OpenAI. Esta flexibilidad permite a los desarrolladores elegir el LLM que mejor se adapte a sus necesidades y presupuesto. magentic también enfatiza la experiencia del desarrollador con características como anotaciones de tipo para una mejor integración con IDE y observabilidad a través de la integración con OpenTelemetry y Logfire. Está diseñado para desarrolladores que buscan construir aplicaciones inteligentes, agentes de IA y flujos de trabajo complejos que aprovechen el poder de los LLMs dentro de un entorno Python familiar.
- CategoríaCreadores de agentes de IA
- Modelo de preciosCódigo abierto
- ImplementaciónNube
- PlataformasWeb
Características principales de magentic
Integra LLMs como funciones de Python usando decoradores.
Define prompts con @prompt y mensajes de chat con @chatprompt.
Genera salidas estructuradas usando modelos Pydantic y tipos de Python.
Soporte para reintentos asistidos por LLM para mejorar la adherencia al esquema de salida.
Observabilidad con integración de OpenTelemetry y Pydantic Logfire.
Opciones de configuración para múltiples proveedores de LLM (OpenAI, Anthropic, Ollama).
Llamada a funciones y encadenamiento para flujos de trabajo complejos de LLM.
Streaming de salidas de texto y estructuradas para procesamiento en tiempo real.
Soporte de funciones asíncronas para consultas concurrentes a LLMs.
Anotaciones de tipo para soporte mejorado de IDE y linting.
Soporte para capacidades de visión en interacciones con LLMs.
Primeros pasos con magentic
Clonar el repositorio: git clone https://github.com/jackmpcollins/magentic.git
Instalar dependencias: pip install magentic
Configurar clave API de LLM: Establecer variables de entorno como OPENAI_API_KEY.
Definir funciones de LLM: Usar decoradores @prompt o @chatprompt.
Ejecutar funciones de LLM: Llamar a las funciones de Python decoradas.
Integrar salidas: Usar salidas estructuradas o datos en streaming en su aplicación.
Casos de uso de magentic
- Desarrollo de Agentes de IA
- Extracción de Datos Estructurados
- Generación de Contenido
- Flujos de Trabajo Automatizados
- Desarrollo de Chatbots
- Integración de Herramientas
- Asistencia en Análisis de Datos








