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指定它或使用命令行。
评论