Description
Apache Burr (incubating) est une bibliothèque Python conçue pour simplifier le développement d'applications qui prennent des décisions, telles que les chatbots, les agents et les simulations. Il permet aux développeurs de construire des systèmes complexes à partir de simples blocs de construction Python, en particulier ceux qui exploitent les grands modèles linguistiques (LLM).
Burr s'intègre de manière transparente avec les frameworks populaires et fournit une interface utilisateur robuste pour la surveillance en temps réel, le traçage et le débogage de l'exécution des applications.
Le cœur d'Apache Burr tourne autour de l'expression des applications sous forme de machines à états, qui sont essentiellement des graphes ou des organigrammes. Cette approche est idéale pour toute application nécessitant une gestion d'état, un suivi complexe des décisions, une intégration du feedback humain, ou des workflows idempotents et auto-persistants. La simplicité du framework est démontrée dans son API principale, qui utilise des fonctions Python décorées comme actions pour gérer les transitions d'état et le flux de données.
Les composants clés d'Apache Burr comprennent une bibliothèque Python sans dépendances pour construire et gérer des machines à états, une interface utilisateur pour la télémétrie et l'introspection, et un ensemble d'intégrations pour la persistance d'état et la connexion avec d'autres systèmes. L'interface utilisateur permet aux utilisateurs de visualiser le flux d'exécution et l'état de l'application en temps réel, améliorant ainsi le processus de débogage et de développement. Les intégrations peuvent étendre les capacités de Burr pour se connecter à divers outils d'observabilité LLM, solutions de stockage et bibliothèques personnalisées comme Apache Hamilton.
Apache Burr convient à un large éventail d'applications, des simples chatbots de type GPT et des chatbots RAG stateful aux jeux d'aventure basés sur LLM et aux assistants interactifs. Il prend également en charge des cas d'utilisation non-LLM tels que les simulations de prévision de séries temporelles et le réglage d'hyperparamètres. La flexibilité du framework permet une intégration avec n'importe quel LLM ou framework préféré, permettant aux développeurs de construire des applications évolutives et maintenables pilotées par l'IA. Le projet met l'accent sur la facilité d'utilisation, avec un guide de démarrage rapide et des exemples facilement disponibles pour aider les développeurs à démarrer rapidement.
Le nom du projet, Burr, est un clin d'œil à Aaron Burr, avec un lien conceptuel avec Apache Hamilton, suggérant une intégration harmonieuse de différents outils pour construire des applications sophistiquées. Le projet accueille activement les contributions de la communauté et fournit des directives claires aux développeurs souhaitant s'impliquer.
Fonctionnalités principales de Apache Burr
Modélisation de machines à états pour les applications décisionnelles
Interface utilisateur de surveillance et de traçage en temps réel
Mécanismes de persistance d'état enfichables
Intégration avec les LLM et divers frameworks
Création de chatbots, d'agents et de simulations
Workflows idempotents et auto-persistants
Gestion d'état basée sur Python
Framework open-source
Extensible avec des actions et des intégrations personnalisées
Capacités de débogage et de relecture
Prend en charge les cas d'utilisation non-LLM
Support communautaire via Discord
Premiers pas avec Apache Burr
Cloner le dépôt : git clone https://github.com/apache/burr
Installer les dépendances : pip install "apache-burr[start]"
Exécuter le serveur UI : burr
Explorer les applications de démonstration via l'UI
Commencer à coder avec des exemples : cd burr/examples/hello-world-counter && python application.py
Consulter la documentation pour des guides et concepts détaillés
Cas d'utilisation de Apache Burr
- Chatbots IA
- Agents Décisionnels
- Simulations
- Applications RAG
- Jeux LLM
- Automatisation des Workflows
- Réglage d'Hyperparamètres








