AutoGen 允许多个 ChatGPT 协作完成复杂任务。
TL;DR
OpenAI助手现已通过GPTAssistantAgent
集成到AutoGen中。这使得多个OpenAI助手,这些是现在流行的GPTs的后端,能够协作并解决复杂任务。请查看示例笔记本以供参考:
介绍
上周早些时候,OpenAI 推出了 GPTs,让用户能够创建定制的 ChatGPT。 但如果这些单独的 GPT 能够协作完成更多任务呢? 幸运的是,由于 AutoGen,这已经成为现实! AutoGen 自今年早些时候以来一直在开拓代理领域并支持 多代理工作流,现在(从版本 0.2.0b5 开始)我们引入了与 Assistant API 的兼容性,该 API 目前处于测试预览阶段。
为了实现这一点,我们添加了一个名为GPTAssistantAgent
的新(实验性)代理,
它允许您无缝地将这些新的OpenAI助手集成到基于AutoGen的多代理工作流中。
这种集成显示出巨大的潜力和协同效应,我们计划继续增强它。
安装
pip install autogen-agentchat~=0.2
基础示例
这里有一个基本的例子,使用UserProxyAgent
来允许与GPTAssistantAgent
进行交互。
首先,导入新代理并设置config_list
:
from autogen import config_list_from_json
from autogen.agentchat.contrib.gpt_assistant_agent import GPTAssistantAgent
from autogen import UserProxyAgent
config_list = config_list_from_json("OAI_CONFIG_LIST")
然后只需定义OpenAI助手代理并给它任务!
# creates new assistant using Assistant API
gpt_assistant = GPTAssistantAgent(
name="assistant",
llm_config={
"config_list": config_list,
"assistant_id": None
})
user_proxy = UserProxyAgent(name="user_proxy",
code_execution_config={
"work_dir": "coding"
},
human_input_mode="NEVER")
user_proxy.initiate_chat(gpt_assistant, message="Print hello world")
GPTAssistantAgent
支持创建新的 OpenAI 助手或重用现有助手
(例如,通过提供 assistant_id
)。
代码解释器示例
GPTAssistantAgent
允许你指定一个 OpenAI 工具(例如,函数调用、代码解释器等)。以下示例启用了可以使用 OpenAI 代码解释器来解决任务的助手。
# creates new assistant using Assistant API
gpt_assistant = GPTAssistantAgent(
name="assistant",
llm_config={
"config_list": config_list,
"assistant_id": None,
"tools": [
{
"type": "code_interpreter"
}
],
})
user_proxy = UserProxyAgent(name="user_proxy",
code_execution_config={
"work_dir": "coding"
},
human_input_mode="NEVER")
user_proxy.initiate_chat(gpt_assistant, message="Print hello world")
查看更多的示例 这里。
限制和未来工作
- 使用 GPT 助手的群聊管理器正在等待中。
- 具有多模态能力的GPT助手尚未发布,但我们致力于支持它们。
致谢
GPTAssistantAgent
的实现得益于与
@IANTHEREAL、
Jiale Liu、
Yiran Wu、
Qingyun Wu、
Chi Wang以及许多其他AutoGen维护者的合作。