跳到主要内容

AutoGen 遇到 GPTs

· 3 min read
Gagan Bansal

OpenAI Assistant

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 的实现得益于与 @IANTHEREALJiale LiuYiran WuQingyun WuChi Wang以及许多其他AutoGen维护者的合作。