Sobre el proyecto

Instructor es una biblioteca de Python diseñada para simplificar la extracción de datos estructurados a partir de modelos de lenguaje grandes (LLMs). Se integra con Pydantic para proporcionar salidas validadas y con tipos seguros, sin necesidad de análisis manual de JSON ni manejo de errores. Los desarrolladores definen un modelo Pydantic que representa la estructura de salida deseada, luego lo pasan a la interfaz de cliente de Instructor, que se encarga automáticamente de la generación del esquema, la validación de respuestas y la lógica de reintento si la validación falla. La biblioteca admite múltiples proveedores de LLM, incluyendo OpenAI, Anthropic, Google Gemini, Ollama y Groq, todos a través de una API consistente. También ofrece funciones avanzadas como transmisión de resultados parciales durante la generación, extracción de objetos anidados y reintentos automáticos con retroalimentación para salidas inválidas. Instructor es más ligero en comparación con frameworks como LangChain o LlamaIndex, ya que se centra únicamente en la extracción estructurada. Es utilizado en producción por más de 100.000 desarrolladores y empresas, incluidos equipos de OpenAI, Google, Microsoft y AWS. El proyecto tiene más de 10K estrellas en GitHub y más de 3M de descargas mensuales. Más allá de Python, Instructor ofrece implementaciones oficiales en TypeScript, Ruby, Go, Elixir y Rust. La documentación, ejemplos y soporte comunitario están disponibles a través de su sitio web y servidor de Discord. Para flujos de trabajo de agentes más complejos, el equipo recomienda PydanticAI, que se construye sobre la base de Instructor con herramientas y características de observabilidad adicionales. La instalación es sencilla mediante pip, uv o Poetry. No se requiere configuración compleja: basta con definir tu modelo y extraer datos estructurados de forma fiable a partir de entradas en lenguaje natural.