前言
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
from metagpt.roles import (
Architect,
Engineer,
ProductManager,
ProjectManager,
)
from metagpt.team import Team
然后开始后续组建团队,配备代理,设定预算,并提供预先编写的小游戏的要求:
async def startup(idea: str):
company = Team()
company.hire(
[
ProductManager(),
Architect(),
ProjectManager(),
Engineer(),
]
)
company.invest(investment=3.0)
company.run_project(idea=idea)
await company.run(n_round=5)
然后用 fire
库来简化命令行接口的创建:
async def main() :
await startup(idea="Create a 2048 game")
#执行程序
if __name__ == "__main__":
fire.Fire(main)
运行python
文件 py .\game2048.py
:
可以看到这次的花费是3美元,并且由产品经理Alice(模拟角色)开始编写文档,content
里面是产品经理写的文档具体内容,我们可以大致看一下。
比如给定义游戏语言,定义游戏规则,定义游戏的特性等等,感兴趣的小伙伴可以详细了解。
接下来就是架构师登场:
架构师bob定义了项目结构,项目风格,接口规范。
然后项目经理开始做项目分析,需要用到的第三方库,中间件,每个代码文件里面的结构风格。
最后就是我们的开发人员开始具体的功能开发,对每个文件的补充,完成产品经理的需求。
我们可以打开我们的 workspace
工作目录,这是 MetaGPT
自动为我们生成的,里面存储了模拟角色为我们写的文档,分析,以及代码。
整个项目到此就生成好了。
可以尝试运行他试试,进入它的目录 game_2048
, 执行 py main.py
:
由我们创建的公司一起完成的项目就成功啦!!
3:模拟花艺销售公司
我们定义三个角色,库管,运营以及客服,看看 metagpt
是怎么通过设定复杂的角色完成我们花艺销售的过程的。
import re
import fire
from metagpt.actions import Action, UserRequirement
from metagpt.logs import logger
from metagpt.roles import Role
from metagpt.schema import Message
from metagpt.team import Team
# 定义订单处理动作
class ProcessOrder(Action):
# 定义订单处理角色
class OrderProcessor(Role):
# 定义库存管理动作
class ManageInventory(Action):
# 定义库存管理角色
class InventoryManager(Role):
# 定义客服处理动作
class HandleCustomerService(Action):
# 定义客服处理角色
class CustomerServiceRepresentative(Role):
# 主函数
async def main(
order_details: str = "A bouquet of red roses",
investment: float = 3.0, #消费
n_round: int = 5,
add_human: bool = False,
):
logger.info(order_details)
team = Team()
team.hire(
[
OrderProcessor(),
InventoryManager(),
CustomerServiceRepresentative(is_human=add_human),
]
)
team.invest(investment=investment)
team.run_project(order_details)
await team.run(n_round=n_round)
# 执行程序
if __name__ == "__main__":
fire.Fire(main)
运行我们的文件,可以看到我们要的一束玫瑰,交给运营销售下单,然后库管检查库存,够得话就减一,确保库存数量足够,最后客服给我们反馈订购成功。
可以看到整个一个流程由 MetaGPT
模拟角色自主的完成。
4:总结
MetaGPT
在协作软件工程基准测试中表现出色,凸显了它在复杂实际挑战中的潜力。
多 Agent
框架和 生成式AI
的结合体正在开拓新的领域,并在解决复杂问题方面展现出巨大的潜力。
这些结合体的灵活性和可扩展性使得它们能够适应不断变化的业务需求,同时提高效率和生产力。
AI大模型学习路线
如果你对AI大模型入门感兴趣,那么你需要的话可以点击这里大模型重磅福利:入门进阶全套104G学习资源包免费分享!
扫描下方csdn官方合作二维码获取哦!
这是一份大模型从零基础到进阶的学习路线大纲全览,小伙伴们记得点个收藏!
第一阶段: 从大模型系统设计入手,讲解大模型的主要方法;
第二阶段: 在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;
第三阶段: 大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;
第四阶段: 大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;
第五阶段: 大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;
第六阶段: 以SD多模态大模型为主,搭建了文生图小程序案例;
第七阶段: 以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。
100套AI大模型商业化落地方案
大模型全套视频教程
200本大模型PDF书籍
👉学会后的收获:👈
• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;
• 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;
• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;
• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。
LLM面试题合集
大模型产品经理资源合集
大模型项目实战合集
👉获取方式:
😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费】🆓
