什么是AutoGen?
AutoGen是微软开发的一个开源框架,它简化了使用大型语言模型(LLM)的复杂工作流的编排、优化和自动化。它提供了一个平台,用于创建和管理多个可对话的代理,这些代理可以协同工作以解决任务。开发者无需编写复杂的代码来链接LLM调用,而是可以定义一组具有特定角色和能力的代理,AutoGen会处理它们之间的交互。
主要特点
- 多代理对话: AutoGen的核心优势是使多个代理能够相互聊天以实现目标。代理可以有不同的角色,例如
规划者和执行者,甚至可以包括人类参与者。 - 可定制和可对话的代理: 该框架提供了通用的可对话代理,可以轻松定制。您可以配置代理以使用各种LLM,接收人类输入并执行代码。
- 多样化的应用模式: 支持广泛的对话模式,从简单的双代理聊天到复杂的群组讨论和分层代理结构。
- 工具和函数调用: 代理可以配备工具(函数),它们可以在对话期间决定使用这些工具,从而允许它们与外部环境交互、运行代码或访问数据库。
使用案例
- 自动化任务解决: 定义一个复杂的任务,让一个AI代理团队自动规划、执行和验证解决方案。例如,为特定功能编写代码,运行它,调试它,并报告结果。
- 内容创作: 使用一个“作家”代理和一个“评论家”代理来协作生成和完善文章、脚本或营销文案。
- 复杂问题回答: 将一个复杂问题分解为子问题,并委派给专门的代理,然后他们协作综合出最终答案。
- 交互式决策: 将人类反馈直接整合到代理对话中,允许人在回路中进行控制和指导。
入门指南
开始使用AutoGen非常简单。首先,安装pyautogen包。
```bash pip install pyautogen
接下来,配置您的LLM提供商。在您的工作目录中创建一个名为OAI_CONFIG_LIST的文件,其中包含您的API密钥和模型信息。
```json [ { “model”: “gpt-4”, “api_key”: “你的API密钥” } ]
现在,您可以创建一个简单的双代理设置来解决一个任务。
```python import autogen
加载LLM配置
config_list = autogen.config_list_from_json(env_or_file=”OAI_CONFIG_LIST”)
创建AssistantAgent
assistant = autogen.AssistantAgent( name=”assistant”, llm_config={ “config_list”: config_list, } )
创建UserProxyAgent
user_proxy = autogen.UserProxyAgent( name=”user_proxy”, human_input_mode=”TERMINATE”, max_consecutive_auto_reply=10, code_execution_config={“work_dir”: “coding”}, llm_config={ “config_list”: config_list, } )
开始对话
user_proxy.initiate_chat( assistant, message=”绘制一张NVDA和TESLA年初至今股价变化的图表,并将其保存为名为’stock_prices.png’的文件。” )
在这个例子中,user_proxy代理以一个任务发起聊天,而assistant代理编写并执行Python代码来完成它。
定价
AutoGen是一个在MIT许可证下发布的开源框架,完全免费使用。您只需负责代理使用的底层LLM API(如OpenAI、Azure等)的相关费用。