大模型构建合作性的Agent,多代理框架MetaGpt
前言
MetaGPT
框架将标准的操作程序(SOP
)与基于大模型的多智能体相结合,使用标准操作程序来编码提示,确保协调结构化和模块化输出。
MetaGPT
允许 Agent
在类似流水线的范式中扮演多中角色,通过结构化的 Agent
协作和强化领域特定专业知识来处理复杂任务,以提高在协作软件工程任务中解决方案的连贯性和正确性。
可能小伙伴们还很陌生,不太明白具体它能做什么,我下面通过具体例子详细来介绍分析一下。
我们以软件公司举例,我们拥有老板,产品经理,架构师,项目经理,工程师和测试角色。
每个角色各司其职处理复杂的任务,MetaGPT
就像是模仿了这些角色,通过一些需求,它可以输出用户故事,竞争分析,需求,数据结构,API,文档等。
然后 MetaGPT
通过精心安排来模拟软件公司的流程,它的核心理念就是 Code = SOP(Team)
,将 SOP
具体化应用于由大模型组建的团队。
- 老板为项目设定需求,
- 产品经理负责编写和修订产品需求文档,
- 架构师负责编写和修订设计,审查产品需求文档和代码,
- 项目经理编写任务,分配任务,审查产品需求文档,设计和代码,
- 工程师编写代码,调试代码,
- 测试工程师进行测试,确保软甲质量。
由 MetaGpt
描述的这个合作环境中,每个角色都为项目开发和完成作出贡献。
下面我们从头开始进入 MetaGPT
。
1.MetaGPT安装
pip install metagpt
安装完成之后执行下面命令生成 config2.yaml
配置文件
metagpt --init-config
然后打开如下目录:
打开配置文件,填写你的 openai key
:
api_type: "openai" # or azure / ollama / open_llm etc. Check LLMType for more options
model: "gpt-4o-mini" # or gpt-3.5-turbo-1106 / gpt-4-1106-preview
base_url: "" # or forward url / other llm url
api_key: ""
当然不仅仅支持 openai
,还支持 claude
,智普
,科大讯飞
,谷歌
,千帆
,阿里通义
以及我们本地的 ollama
等多种大模型,它们的配置字段都一样,根据自己的需要进行配置。
ollama API:
llm:
api_type: 'ollama'
base_url: 'http://127.0.0.1:11434/api'
model: 'llama2'
阿里云 DashScope API
:
llm:
api_type: dashscope
api_key: 'YOUR_API_KEY'
model: 'YOUR_ENDPOINT_NAME like qwen-max'
2:简单的团队协作处理任务
导入角色,架构师,开发工程师,产品经理,项目经理:
import asyncio
fro