Skip to main content

AutoGen meets GPTs

· 4 min read
Gagan Bansal

OpenAI助手

AutoGen通过GPTAssistantAgent实现了多个ChatGPT之间的协作,用于处理复杂任务。

TL;DR

现在,通过GPTAssistantAgent,OpenAI助手已经集成到AutoGen中。 这使得多个OpenAI助手(作为现在流行的GPT的后端)能够协作处理复杂任务。 可以参考以下示例笔记本:

简介

上周,OpenAI推出了GPT,使用户能够创建适合自己的定制ChatGPT。 但是,如果这些个体GPT能够合作做更多事情呢? 幸运的是,由于AutoGen,这已经成为现实! AutoGen从今年年初开始就一直在开创代理人并支持多代理人工作流,现在(从版本0.2.0b5开始)我们引入了与助手API的兼容性,该API目前处于beta预览阶段。

为了实现这一点,我们添加了一个新的(实验性的)代理人,称为GPTAssistantAgent,它可以无缝地将这些新的OpenAI助手添加到基于AutoGen的多代理人工作流中。 这种集成显示出巨大的潜力和协同效应,我们计划继续增强它。

安装

pip install pyautogen==0.2.0b5

基本示例

下面是一个基本示例,使用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助手代理人并给它任务!

# 使用助手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="打印Hello World")

GPTAssistantAgent支持创建新的OpenAI助手或重用现有助手 (例如,通过提供assistant_id)。

代码解释器示例

GPTAssistantAgent允许您指定一个OpenAI工具, (例如,函数调用,代码解释器等)。下面的示例演示了如何使用 OpenAI 代码解释器创建一个能够解决任务的助手。

# 使用 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 维护者合作完成的。