描述
Apache Burr (incubating) 是一个 Python 库,旨在简化决策型应用程序(如聊天机器人、代理和模拟)的开发。它使开发人员能够从简单的 Python 构建块构建复杂的系统,特别是那些利用大型语言模型 (LLM) 的系统。Burr 与流行的框架无缝集成,并提供强大的 UI,用于实时监控、跟踪和调试应用程序执行。
Apache Burr 的核心围绕将应用程序表示为状态机,状态机本质上是图或流程图。这种方法非常适合任何需要状态管理、复杂决策跟踪、人类反馈集成或幂等、自持久化工作流的应用程序。该框架的简单性在其核心 API 中得到了体现,该 API 使用装饰为操作的 Python 函数来管理状态转换和数据流。
Apache Burr 的关键组件包括一个无依赖的 Python 库,用于构建和管理状态机;一个用于遥测和内省的用户界面;以及一套用于状态持久化和与其他系统连接的集成。UI 允许用户实时可视化执行流程和应用程序状态,从而增强调试和开发过程。集成可以扩展 Burr 的功能,以连接各种 LLM 可观测性工具、存储解决方案和像 Apache Hamilton 这样的自定义库。
Apache Burr 适用于广泛的应用,从简单的类 GPT 聊天机器人和有状态的基于 RAG 的聊天机器人到基于 LLM 的冒险游戏和交互式助手。它还支持非 LLM 用例,如时间序列预测模拟和超参数调优。该框架的灵活性允许与任何首选 LLM 或框架集成,使开发人员能够构建可扩展且可维护的 AI 驱动应用程序。该项目强调易用性,提供快速入门指南和现成的示例,以帮助开发人员快速上手。
该项目名称 Burr 是对 Aaron Burr 的致敬,并与 Apache Hamilton 概念上相关,暗示了不同工具的和谐集成,以构建复杂的应用程序。该项目积极欢迎社区贡献,并为希望参与的开发人员提供清晰的指南。
Apache Burr的核心功能
用于决策型应用程序的状态机建模
实时监控和跟踪 UI
可插拔的状态持久化机制
与 LLM 和各种框架集成
构建聊天机器人、代理和模拟
幂等和自持久化工作流
基于 Python 的状态管理
开源框架
可通过自定义操作和集成进行扩展
调试和回放功能
支持非 LLM 用例
通过 Discord 提供社区支持
Apache Burr入门
克隆仓库: git clone https://github.com/apache/burr
安装依赖: pip install "apache-burr[start]"
运行 UI 服务器: burr
通过 UI 探索演示应用程序
使用示例开始编码: cd burr/examples/hello-world-counter && python application.py
参考文档以获取详细指南和概念
Apache Burr的使用案例
- AI 聊天机器人
- 决策代理
- 模拟
- RAG 应用
- LLM 游戏
- 工作流自动化
- 超参数调优








