前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >MetaGPT:多智能体元编程框架

MetaGPT:多智能体元编程框架

作者头像
测试开发囤货
发布于 2023-08-08 01:44:16
发布于 2023-08-08 01:44:16
51000
代码可运行
举报
文章被收录于专栏:测试开发囤货测试开发囤货
运行总次数:0
代码可运行
MetaGPT:多智能体元编程框架

使 GPTs 组成软件公司,协作处理更复杂的任务

  1. MetaGPT输入「一句话的老板需求」,输出「用户故事 / 竞品分析 / 需求 / 数据结构 / APIs / 文件等」
  2. MetaGPT内部包括「产品经理 / 架构师 / 项目经理 / 工程师」,它提供了一个「软件公司」的全过程与精心调配的SOP
    1. Code = SOP(Team) 是核心哲学。我们将SOP具象化,并且用于LLM构成的团队

软件公司多角色示意图(正在逐步实现)

示例(均由 GPT-4 生成)

例如,键入python startup.py "写个类似今日头条的推荐系统"并回车,你会获得一系列输出,其一是数据结构与API设计

这需要大约「0.2美元」(GPT-4 API的费用)来生成一个带有分析和设计的示例,大约2.0美元用于一个完整的项目

安装

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 第 1 步:确保您的系统上安装了 NPM。并使用npm安装mermaid-js
npm --version
sudo npm install -g @mermaid-js/mermaid-cli

# 第 2 步:确保您的系统上安装了 Python 3.9+。您可以使用以下命令进行检查:
python --version

# 第 3 步:克隆仓库到您的本地机器,并进行安装。
git clone https://github.com/geekan/metagpt
cd metagpt
python setup.py install

配置

  • config/key.yaml / config/config.yaml / env 中配置您的 OPENAI_API_KEY
  • 优先级顺序:config/key.yaml > config/config.yaml > env
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 复制配置文件并进行必要的修改。
cp config/config.yaml config/key.yaml

变量名

config/key.yaml

env

OPENAI_API_KEY # 用您自己的密钥替换

OPENAI_API_KEY: "sk-..."

export OPENAI_API_KEY="sk-..."

OPENAI_API_BASE # 可选

OPENAI_API_BASE: "https://<YOUR_SITE>/v1"

export OPENAI_API_BASE="https://<YOUR_SITE>/v1"

示例:启动一个创业公司

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
python startup.py "写一个命令行贪吃蛇"
# 开启code review模式会会花费更多的money, 但是会提升代码质量和成功率
python startup.py "写一个命令行贪吃蛇" --code_review True 

运行脚本后,您可以在 workspace/ 目录中找到您的新项目。

代码实现

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
from metagpt.software_company import SoftwareCompany
from metagpt.roles import ProjectManager, ProductManager, Architect, Engineer

async def startup(idea: str, investment: float = 3.0, n_round: int = 5):
    """运行一个创业公司。做一个老板"""
    company = SoftwareCompany()
    company.hire([ProductManager(), Architect(), ProjectManager(), Engineer()])
    company.invest(investment)
    company.start_project(idea)
    await company.run(n_round=n_round)

你可以查看examples,其中有单角色(带知识库)的使用例子与仅LLM的使用例子。

演示

https://github.com/geekan/MetaGPT.git

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-08-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 测试开发囤货 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
【MySQL】数据库的数据类型
mysql 中表的建立属性列:列名称 数据类型,例如 num int,它与我们平时写的语言数据类型是倒过来的!
YoungMLet
2024/03/01
3260
【MySQL】数据库的数据类型
MySQL-简介
alter table user change column name username varchar(20);
用户9615083
2022/12/25
6380
MySQL-简介
初识MySQL · 数据类型
对于MySQL来说,是一门编程语言,可能定义不是那么的严格,但是对于MySQL来说也是拥有自己的数据类型的,比如tinyint,varchar等,不过通过本章的学习,你就会知道,这里的数据类型其实和C语言中的数据类型挺像的。
_lazy
2025/03/28
1030
初识MySQL · 数据类型
【MySQL】数据库基础&&库/表的操作&&数据类型详解
为解决上述问题,专家们设计出更加利于管理数据的东西-数据库,能更加有效的管理数据,数据库的水平是衡量一个程序员水平的重要指标
用户10925563
2025/02/16
1480
【MySQL】数据库基础&&库/表的操作&&数据类型详解
【MYSQL】数据类型
当我们插入一个超过范围的数据时,我们会发现会插入失败,由此我们可以得到一个结论:我们成功插入到MYSQL中的数据,一定是合法的。这样能够约束程序员尽可能的插入正确的数据。
青衫哥
2023/10/17
3300
【MYSQL】数据类型
mysql基础
创建mysql数据表的时候,通常会指定类型和长度,那么到底代表什么意思呢,每种类型最大长度又是多少,经过我的查阅资料和实验,把结果记录一下
leobhao
2022/06/28
3620
【MySql】MySql的数据类型
对于数据类型分类,这里简单分为数值类型(如BIT,BOOL,INT),文本、二进制类型(如CHAR,VARCHAR),时间日期(DATE),String类型(如ENUM类型),这里简单了解一下即可
平凡的人1
2023/10/15
6660
【MySql】MySql的数据类型
Linux——MySQL基础
也就是说,mysql是一套提供数据存储服务的网络程序。 数据库一般指的是在磁盘或者内存中存储的特定结构组织的数据——将来在磁盘中存储数据的一套特定方案。 数据库服务就是mysqld。 为什么有数据库 虽然一般文件确实提供了数据存储的功能,但是站在用户角度上,文件并没有提供非常好的数据管理能力。 数据库的本质:对数据内容存取的一套解决方案,你给我数据内容,我直接给你结果。
有礼貌的灰绅士
2025/05/10
1120
Linux——MySQL基础
MySQL数据类型
尽量不使用unsigned,对于int类型可能存放不下的数据,int unsigned同样可能存放不下,与其如此,还不如设计时,将int类型提升为bigint类型。
每天都要进步呀
2023/10/16
2950
MySQL数据类型
MySQL2_字符集及数据类型
文章目录 MySQL_字符集及数据类型 1.字符集 2.校对集 3.MySQL的数据类型--值的类型 (1)整型 (2)unsigned(无符号) (3)显示宽度(zerofill) (4)浮点型 (
以某
2023/03/07
4580
MySQL(三)
指在数据显示的时候,最长可以显示的位数。 如果需要始终以最大长度显示,可以使用 zerofill 属性。 注意: 使用了 zerofill,一定是无符号整型。因为从左到右 0 填充。
1ess
2021/11/01
7620
【MySQL】004.MySQL数据类型
当我们插入128,-129的时候就会发现报错插入的数据超出数据范围。因为tinyint的数据范围是-128 - 127
_孙同学
2025/04/20
820
【MySQL】004.MySQL数据类型
MySQL-学习笔记
Win mysql安装:Windows下安装MySQL详细教程 - m1racle - 博客园 (cnblogs.com)
小简
2022/12/27
4280
MySQL-学习笔记
Mysql 复习总结
 /********** 基本数据类型*******************/
明明如月学长
2021/08/27
7810
mysql多字段主键_sql改变列数据类型
整数类型:tinyint、smallint、mediumint、integer、bigint
全栈程序员站长
2022/09/28
2.7K0
mysql多字段主键_sql改变列数据类型
【Mysql】:linux环境下表的三部曲(数据操作 + 类型解析 + 约束规则)
这篇文章只是对以前的内容作个详细补充,想要速成操作的,可以参考这篇博客 【MySQL学习】:关系数据库标准语言SQL
IsLand1314
2025/02/09
1770
【Mysql】:linux环境下表的三部曲(数据操作 + 类型解析 + 约束规则)
【MySQL基础篇】四、数据类型
​ 上图列举了 mysql 中的数据类型,其实我们主要分为四种类型来讲解,数据类型比较接近的比如说 tinyint、smallint、int 等几个类型,我们只会挑其中一个来讲,因为其它都是类似的!
利刃大大
2025/05/21
1120
【MySQL基础篇】四、数据类型
MySQL数据类型
总结: 如果插入的数据超过MySQL数据类型的范围,那么MySQL就不让你插入,直接拦截,不让做对应的操作。这点和C/C++一样,但是编译器不会报错,语言上给你发生截断,编译器内部可能会隐式转换。 如果已经有数据被成功插入到MySQL中,那么插入的时候一定是合法的。 因此,MySQL中,一般而言,数据类型本身也是一种约束。这种约束倒逼程序员,让程序员尽可能正确插入,如果不正确插入,MySQL也能保证插入的数据合法性。这样就能保证数据库中的数据是可预期完整的。
南桥
2024/07/26
2040
MySQL数据类型
【MySQL】MySQL常见数据类型
从这个数值类型我们也可以发现,这其实也是一种约束。如果我们向mysql特定的类型中插入不合法的数据,MySQL一般会直接拦截相应的操作。这种类型的约束,也可以保证数据库中的数据是可预期的、完整的。
P_M_P
2024/08/12
2000
【MySQL】MySQL常见数据类型
MySQL数据库数据类型
在MySQL数据库中,MySQL数据类型分有四大类:数值类型、文本/二进制类型、时间日期和String类型。以下是这四大类的具体类型:
二肥是只大懒蓝猫
2023/10/13
4330
MySQL数据库数据类型
相关推荐
【MySQL】数据库的数据类型
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档