BeeBot:自主AI助手的应用

BeeBot是一款自主AI助手,设计用于自动执行各种实用任务,提供工具选择、内置持久性、REST API等功能。
直达下载
回到上一页
clickgpt_line.png_noView
介绍

BeeBot 是您的个人助手,是一款设计用于自主执行各种实用任务的自主AI助手。它通过选择和使用多种工具来高效完成任务,旨在提供用户友好的平台进行任务自动化管理。

状态

BeeBot的开发目前处于停滞状态。我认为LLMs(截至2023年末的情况)在结构化思维、可靠结果和遵循指令方面尚未达到广义自主AI的要求。如果以下情况发生之一,我将重新启动该项目:

  • LLM在结构化思维、可靠结果和遵循指令方面有了显著改进
  • 我能够开发或调整一个专门用于自主AI训练的定制模型
  • 我找到了BeeBot能够胜任的特定任务子集(提示:不是编码)

请定期查看这里,希望项目能够重新启动。

特点

  • 通过AutoPack进行工具选择,并能够在任务执行期间获取更多工具
  • 内置持久性
  • 符合e2b标准的REST API
  • 用于发布BeeBot内部所有事件的Websocket服务器
  • 可切换的文件系统仿真,使文件可以存储在内存中、磁盘上或数据库中
  • 用于管理任务的Web UI(即将推出)
  • 在任务执行期间动态操作历史记录
  • 内置缓存,如果启用,使用Helicone

安装

要开始使用BeeBot,请将存储库克隆到您的本地计算机,并使用poetry安装其依赖项。这些说明可能会根据您的本地开发环境而有所不同。

    
git clone https://github.com/AutoPackAI/beebot.git
cd beebot
./setup.sh

Windows官方不受支持,但可能会工作。欢迎为Windows兼容性提供PR,但这不会成为主要关注点。

持久性

持久性是必需的。虽然SQLite是官方支持的,并在测试中使用,但强烈建议您使用通过docker使用Postgres,只需执行docker compose up -d

运行

命令行界面(CLI)

要使用CLI,请运行:

    
poetry run beebot

API

要启动服务器,请运行:

    
uvicorn beebot.initiator.api:create_app --factory --timeout-keep-alive=300

如果您正在对BeeBot本身进行开发,您可能希望使用以下命令:

    
uvicorn beebot.initiator.api:create_app --factory --reload  --timeout-graceful-shutdown=3 --timeout-keep-alive=300

然后,您可以使用以下命令调用API:

创建任务,请运行:

    
curl --request POST \
  --url http://localhost:8000/agent/tasks \
  --header 'Content-Type: application/json' \
  --data '{
	"input": "Write '\''hello world'\'' to hi.txt"
}'

您将获得以下响应:

    
{
  "input": "Write 'hello world' to hi.txt",
  "task_id": "103",
  "artifacts": []
}

然后,要执行任务的一步,请复制上一个请求中获得的task_id,并运行:

    
curl --request POST \
  --url http://localhost:8000/agent/tasks/<task-id>/steps

Websocket连接

注意:通知目前正在重新制作,可能无法正常工作

要接收BeeBot中所有数据模型更改的流,请订阅到与Web API相同的主机/端口的websocket连接的/notifications端点,例如 ws://localhost:8000/notifications。使用您喜欢的websocket测试工具进行尝试。

Web界面

我们正在使用Node.js(Remix)开发Web界面。

哲学

BeeBot的开发过程受特定哲学的指导,强调塑造其开发和未来方向的关键原则。

优先事项

BeeBot的开发受以下优先事项的驱动,始终按照以下顺序:

  1. 功能性:BeeBot旨在在其预期能力范围内实现任务的高成功率。
  2. 灵活性:BeeBot致力于适应各种任务,随着时间的推移扩大该范围。
  3. 可靠性:BeeBot专注于可靠地完成已知任务,并具有可预测性。
  4. 效率:BeeBot旨在以最少的步骤执行任务,优化时间和资源的使用。
  5. 便利性:BeeBot旨在为任务自动化提供用户友好的平台。

原则

为了实现这些优先事项,BeeBot遵循以下原则:

  • 以工具为中心:BeeBot精选并描述工具,确保LLMs可靠使用。它使用AutoPack作为其工具的软件包管理器。
  • LLM专业化:BeeBot将利用多种最适合不同任务的LLMs,而OpenAI仍然是规划和决策的主要LLM。
  • 优先考虑功能性和灵活性:BeeBot优先考虑功能性和灵活性,而不是开发者的生活质量,这可能会限制对特定平台和其他部署便利性的支持。
  • 非正统方法:BeeBot采用非传统的开发方法来提高开发速度,例如缺乏单元测试。相反,使用端到端测试,确保整个系统按预期工作。
  • 已证实的概念:BeeBot只在证明了它们能够增强其五个优先事项后才采用新概念。因此,它没有复杂的内存或思维树。
编程学习
编程学习 免费领取编程学习资料 进编程学习交流群
订阅号
视频号
公众号 关注公众号,回复关键字python领取大厂最新面试题
×
编程学习
免费领取编程学习资料 进编程学习交流群