“BabyAGI”是一个由Yohei Nakajima创建的开源项目,其主要目标是构建一个AI驱动的任务管理系统。这个系统使用OpenAI和向量数据库(如Chroma或Weaviate)来创建、优先级排序和执行任务。系统的主要思想是基于以前任务的结果和预定义的目标来创建任务。然后,该脚本使用OpenAI的自然语言处理(NLP)能力根据目标创建新的任务,并使用Chroma/Weaviate来存储和检索任务结果以供上下文参考。这是原始的任务驱动自主代理的简化版本,该版本于2023年3月28日发布。

BabyAGI的工作原理是通过运行一个无限循环来完成以下步骤:

  1. 从任务列表中提取第一个任务。
  2. 将任务发送到执行代理,该代理使用OpenAI的API根据上下文完成任务。
  3. 丰富结果并将其存储在Chroma/Weaviate中。
  4. 根据目标和前一个任务的结果创建新任务并重新排序任务列表。

要使用这个脚本,你需要按照以下步骤操作:

  1. 克隆仓库并进入克隆的仓库。
  2. 安装所需的包。
  3. 将.env.example文件复制到.env:这是你将设置以下变量的地方。
  4. 在OPENAI_API_KEY和OPENAPI_API_MODEL变量中设置你的OpenAI API密钥。如果要与Weaviate一起使用,你还需要设置一些额外的变量。
  5. 在TABLE_NAME变量中设置存储任务结果的表的名称。
  6. (可选)在BABY_NAME变量中设置BabyAGI实例的名称。
  7. (可选)在OBJECTIVE变量中设置任务管理系统的目标。
  8. (可选)在INITIAL_TASK变量中设置系统的第一个任务。
  9. 运行脚本。

此外,该脚本支持所有OpenAI模型,以及通过Llama.cpp的Llama及其变体。默认模型是gpt-3.5-turbo。要使用不同的模型,可以通过LLM_MODEL指定,或者使用命令行。

需要注意的是,这个脚本被设计为作为任务管理系统的一部分连续运行。连续运行此脚本可能会导致API使用量高,所以请负责任地使用。此外,脚本需要正确设置OpenAI API,所以在运行脚本之前,请确保你已经设置了API。

BabyAGI仍处于初级阶段,我们仍在确定其方向和实现步骤。目前,BabyAGI的一个关键设计目标是保持简单,以便于理解和构建。为了保持这种简单性,我们在提交PR时,要求你遵守以下指南:

  1. 专注于小的、模块化的修改,而不是大规模的重构。
  2. 在引入新功能时,提供你正在解决的特定用例的详细描述。

BabyAGI的创建者Yohei Nakajima在2023年4月5日的一条注释中表示,他知道PR的数量在增长,他感谢大家的耐心,因为他对GitHub/OpenSource还不熟悉,而且这周他没有合理安排自己的时间。他对于保持简单还是扩展持有矛盾的态度,目前倾向于保持核心Baby AGI的简单,并使用这个平台来支持和推广扩展这个平台的不同方法(例如,BabyAGIxLangchain作为一个方向)。他认为有各种值得探索的有见地的方法,并且他看到在一个中心地方比较和讨论的价值。更多的更新即将到来。

他是GitHub和开源的新手,所以请耐心等待他正确地管理这个项目。他白天经营一家风投公司,所以他通常会在晚上孩子们睡下后检查PR和问题,这可能不会是每个晚上。他对引入支持的想法持开放态度,将很快更新这一部分(期望、愿景等)。他正在与很多人交谈并学习,所以请耐心等待更新!

为了帮助BabyAGI社区了解项目的进展,Blueprint AI开发了一个Github活动总结器,用于BabyAGI。这个简洁的报告显示了过去7天(持续更新)对BabyAGI仓库的所有贡献的摘要,让你可以轻松跟踪最新的发展。

BabyAGI是原始的任务驱动自主代理的简化版本,该版本于2023年3月28日在Twitter上分享。这个版本缩减到了140行:13条评论,22个空白,105行代码。仓库的名字是在对原始自主代理的反应中提出的,作者并不意味着这就是AGI。

这个项目是由@yoheinakajima用爱创建的,他恰好是一位风投人(他很想看看你正在建设什么!)。

总的来说,BabyAGI是一个充满潜力的开源项目,它尝试使用AI技术来改变我们管理和执行任务的方式。虽然它仍然处于早期阶段,但它已经展示了AI如何帮助我们更有效地处理任务的潜力。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注