babyagi AI 任务管理系统开源项目

我要开发同款
匿名用户2023年04月10日
61阅读
开发技术Python
所属分类LLM(大语言模型)、人工智能
授权协议MIT

作品详情

babyagiPython脚本是一个人工智能任务管理系统的示例。

该系统使用OpenAI和PineconeAPI来创建任务、确定任务的优先级和执行任务,背后的主要思想是根据先前任务的结果和预定义的目标创建任务。然后,该脚本使用OpenAI的自然语言处理(NLP)功能根据目标创建新任务,并使用Pinecone存储和检索上下文的任务结果。

如何使用

执行如下步骤:

通过 gitclonehttps://github.com/yoheinakajima/babyagi.git 和 cd 将存储库克隆到克隆的存储库中。安装所需的包: pipinstall-rrequirements.txt将.env.example文件复制到.env: cp.env.example.env 并将在此处设置以下变量。在OPENAI_API_KEY、OPENAPI_API_MODEL和PINECONE_API_KEY变量中设置OpenAI和PineconeAPI密钥。在PINECONE_ENVIRONMENT变量中设置Pinecone环境。在TABLE_NAME变量中设置将存储任务结果的表的名称。(可选)在OBJECTIVE变量中设置任务管理系统的目标。(可选)在INITIAL_TASK变量中设置系统的第一个任务。Runthescript. 运行脚本。运行原理该脚本通过运行执行以下步骤的无限循环来工作:

从任务列表中提取第一个任务。将任务发送给执行代理,执行代理使用OpenAI的API根据上下文完成任务。丰富结果,并将其存储在Pinecone中。创建新任务,并根据目标和先前任务的结果重新排列任务列表的优先级。

其中execution_agent()函数是使用OpenAIAPI的地方,它有两个参数:目标和任务。它向OpenAI的API发送提示,返回任务的结果。提示包括对AI系统任务、目标和任务本身的描述。然后将结果作为字符串返回。

task_creation_agent()函数是OpenAI的API用于根据目标和先前任务的结果创建新任务的地方。该函数有四个参数:目标、上一个任务的结果、任务描述和当前任务列表。然后它向OpenAI的API发送提示,该API以字符串形式返回新任务列表。该函数然后将新任务作为字典列表返回,其中每个字典都包含任务的名称。

prioritization_agent()函数是OpenAI的API用于重新确定任务列表优先级的地方。该函数有一个参数,即当前任务的ID。它向OpenAI的API发送提示,该API将重新确定优先级的任务列表作为编号列表返回。

最后,该脚本使用Pinecone来存储和检索上下文的任务结果。该脚本根据YOUR_TABLE_NAME变量中指定的表名创建一个Pinecone索引。然后使用Pinecone将任务的结果连同任务名称和任何其他元数据一起存储在索引中。

支持的模型此脚本适用于所有OpenAI模型,以及通过Llama.cpp的Llama,默认模型是gpt-3.5-turbo。

要使用不同的模型,请通过OPENAI_API_MODEL指定它或使用命令行。

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论