Descripción
Apache Burr (incubating) es una biblioteca de Python diseñada para simplificar el desarrollo de aplicaciones que toman decisiones, como chatbots, agentes y simulaciones. Permite a los desarrolladores construir sistemas complejos a partir de simples bloques de construcción de Python, especialmente aquellos que aprovechan los Modelos de Lenguaje Grandes (LLMs).
Burr se integra perfectamente con frameworks populares y proporciona una interfaz de usuario robusta para el monitoreo, rastreo y depuración en tiempo real de la ejecución de aplicaciones.
El núcleo de Apache Burr gira en torno a la expresión de aplicaciones como máquinas de estados, que son esencialmente grafos o diagramas de flujo. Este enfoque es ideal para cualquier aplicación que requiera gestión de estado, seguimiento de decisiones complejas, integración de retroalimentación humana o flujos de trabajo idempotentes y auto-persistentes. La simplicidad del framework se demuestra en su API principal, que utiliza funciones de Python decoradas como acciones para gestionar las transiciones de estado y el flujo de datos.
Los componentes clave de Apache Burr incluyen una biblioteca de Python sin dependencias para construir y gestionar máquinas de estados, una interfaz de usuario para telemetría e introspección, y un conjunto de integraciones para la persistencia de estado y la conexión con otros sistemas. La interfaz de usuario permite a los usuarios visualizar el flujo de ejecución y el estado de la aplicación en tiempo real, mejorando el proceso de depuración y desarrollo. Las integraciones pueden extender las capacidades de Burr para conectarse con diversas herramientas de observabilidad de LLM, soluciones de almacenamiento y bibliotecas personalizadas como Apache Hamilton.
Apache Burr es adecuado para una amplia gama de aplicaciones, desde simples chatbots tipo GPT y chatbots RAG con estado hasta juegos de aventura basados en LLM y asistentes interactivos. También soporta casos de uso no LLM como simulaciones de pronóstico de series temporales y ajuste de hiperparámetros. La flexibilidad del framework permite la integración con cualquier LLM o framework preferido, permitiendo a los desarrolladores construir aplicaciones escalables y mantenibles impulsadas por IA. El proyecto enfatiza la facilidad de uso, con una guía de inicio rápido y ejemplos fácilmente disponibles para ayudar a los desarrolladores a empezar.
El nombre del proyecto, Burr, es un guiño a Aaron Burr, con una conexión conceptual con Apache Hamilton, sugiriendo una integración armoniosa de diferentes herramientas para construir aplicaciones sofisticadas. El proyecto da la bienvenida activamente a las contribuciones de la comunidad y proporciona directrices claras para los desarrolladores que buscan involucrarse.
Características principales de Apache Burr
Modelado de máquinas de estados para aplicaciones de toma de decisiones
Interfaz de usuario de monitoreo y rastreo en tiempo real
Mecanismos de persistencia de estado conectables
Integración con LLMs y varios frameworks
Construcción de chatbots, agentes y simulaciones
Flujos de trabajo idempotentes y auto-persistentes
Gestión de estado basada en Python
Framework de código abierto
Extensible con acciones e integraciones personalizadas
Capacidades de depuración y reproducción
Soporta casos de uso no LLM
Soporte comunitario a través de Discord
Primeros pasos con Apache Burr
Clonar el repositorio: git clone https://github.com/apache/burr
Instalar dependencias: pip install "apache-burr[start]"
Ejecutar el servidor de UI: burr
Explorar aplicaciones de demostración a través de la UI
Empezar a codificar con ejemplos: cd burr/examples/hello-world-counter && python application.py
Consultar la documentación para guías y conceptos detallados
Casos de uso de Apache Burr
- Chatbots de IA
- Agentes de Decisión
- Simulaciones
- Aplicaciones RAG
- Juegos con LLM
- Automatización de Flujos de Trabajo
- Ajuste de Hiperparámetros








