Descrição
Apache Burr (incubating) é uma biblioteca Python projetada para simplificar o desenvolvimento de aplicações que tomam decisões, como chatbots, agentes e simulações. Ele capacita os desenvolvedores a construir sistemas complexos a partir de blocos de construção Python simples, particularmente aqueles que utilizam Large Language Models (LLMs). Burr integra-se perfeitamente com frameworks populares e fornece uma UI robusta para monitoramento em tempo real, rastreamento e depuração da execução da aplicação.
O núcleo do Apache Burr gira em torno da expressão de aplicações como máquinas de estado, que são essencialmente grafos ou fluxogramas. Essa abordagem é ideal para qualquer aplicação que exija gerenciamento de estado, rastreamento complexo de decisões, integração de feedback humano ou fluxos de trabalho idempotentes e auto-persistentes. A simplicidade do framework é demonstrada em sua API principal, que usa funções Python decoradas como ações para gerenciar transições de estado e fluxo de dados.
Os principais componentes do Apache Burr incluem uma biblioteca Python sem dependências para construir e gerenciar máquinas de estado, uma interface de usuário para telemetria e introspecção, e um conjunto de integrações para persistência de estado e conexão com outros sistemas. A UI permite que os usuários visualizem o fluxo de execução e o estado da aplicação em tempo real, aprimorando o processo de depuração e desenvolvimento. As integrações podem estender as capacidades do Burr para se conectar com várias ferramentas de observabilidade de LLM, soluções de armazenamento e bibliotecas personalizadas como Apache Hamilton.
Apache Burr é adequado para uma ampla gama de aplicações, desde chatbots simples semelhantes a GPT e chatbots baseados em RAG com estado até jogos de aventura baseados em LLM e assistentes interativos. Ele também suporta casos de uso não-LLM, como simulações de previsão de séries temporais e ajuste de hiperparâmetros. A flexibilidade do framework permite a integração com qualquer LLM ou framework preferido, permitindo que os desenvolvedores criem aplicações escaláveis e manteníveis impulsionadas por IA. O projeto enfatiza a facilidade de uso, com um guia de início rápido e exemplos prontamente disponíveis para ajudar os desenvolvedores a começar.
O nome do projeto, Burr, é uma referência a Aaron Burr, com uma conexão conceitual com Apache Hamilton, sugerindo uma integração harmoniosa de diferentes ferramentas para construir aplicações sofisticadas. O projeto acolhe ativamente contribuições da comunidade e fornece diretrizes claras para desenvolvedores que desejam se envolver.
Recursos principais de Apache Burr
Modelagem de máquina de estado para aplicações de tomada de decisão
UI de monitoramento e rastreamento em tempo real
Mecanismos de persistência de estado plugáveis
Integração com LLMs e vários frameworks
Construir chatbots, agentes e simulações
Fluxos de trabalho idempotentes e auto-persistentes
Gerenciamento de estado baseado em Python
Framework de código aberto
Extensível com ações e integrações personalizadas
Capacidades de depuração e reprodução
Suporta casos de uso não-LLM
Suporte da comunidade via Discord
Primeiros passos com Apache Burr
Clone o repositório: git clone https://github.com/apache/burr
Instale as dependências: pip install "apache-burr[start]"
Execute o servidor da UI: burr
Explore aplicações de demonstração através da UI
Comece a codificar com exemplos: cd burr/examples/hello-world-counter && python application.py
Consulte a documentação para guias e conceitos detalhados
Casos de uso de Apache Burr
- Chatbots de IA
- Agentes de Decisão
- Simulações
- Aplicações RAG
- Jogos LLM
- Automação de Fluxo de Trabalho
- Ajuste de Hiperparâmetros








