MetaGPT前期准备与快速上手
大家好,MetaGPT 是基于大型语言模型(LLMs)的多智能体协作框架,GitHub star数量已经达到31.3k+。
接下来我们聊一下快速上手
这里写目录标题
- 一、环境搭建
- 1.python 环境
- 2. MetaGpt 下载
- 二、MetaGPT配置
- 1.调用 ChatGPT API 服务
- 2.简单使用
- 二十一点游戏
- 贪吃蛇游戏
一、环境搭建
python 环境最好是 3.9
1.python 环境
利用 anaconda 创建 python3.9 的虚拟环境
conda create -n python39 python-3.9
2. MetaGpt 下载
git clone https://github.com/geekan/MetaGPT.git
cd /your/path/to/MetaGPT
pip install -e .
也可以采取以下方式
pip install metagpt
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple metagpt==0.5.2
pip install git+https://github.com/geekan/MetaGPT
二、MetaGPT配置
1.调用 ChatGPT API 服务
API 可以在万能的某宝上获取,再次就不多赘述。在此主要想和大家聊了聊怎么调用 AIP 。
在此之前我们需要:
- 安装
openai库
pip install --upgrade openai
- 获取 API 密钥 (某宝,文章最后有介绍方法)
- 配置 python 科学代理
【控制面板】->【网络和Internet】->【Internet选项】->【连接】->【局域网设置】
之后在python里运行下方的代码,将冒号内的内容改为上图红色框框里的地址。
os.environ["http_proxy"] = "http://127.0.0.1:7890"
os.environ["https_proxy"] = "http://127.0.0.1:7890"
如下图




打开我们亲爱的 jupyter (也而已是 pycharm) 运行 简单的测试代码
import os
from openai import OpenAIos.environ["http_proxy"] = "http://127.0.0.1:7890"
os.environ["https_proxy"] = "http://127.0.0.1:7890"os.environ["OPENAI_API_KEY"] = "sk-*****"client = OpenAI()completion = client.chat.completions.create(model="gpt-3.5-turbo",messages=[{"role": "system", "content": "You are a poetic assistant, skilled in explaining complex programming concepts with creative flair."},{"role": "user", "content": "Compose a poem that explains the concept of recursion in programming."}]
)print(completion.choices[0].message)
得到以下输出, 调用API成功。

2.简单使用
接下来通过二十一点和贪吃蛇两个游戏来带大家简单运用一些 MetaGpt
二十一点游戏
该代码在 jupter 运行
代码如下
import asyncio
from metagpt.roles import (Architect,Engineer,ProductManager,ProjectManager,
)
from metagpt.team import Teamimport os
from openai import OpenAIos.environ["http_proxy"] = "http://127.0.0.1:7890"
os.environ["https_proxy"] = "http://127.0.0.1:7890"os.environ["OPENAI_API_KEY"] = "sk-*“
async def startup(idea: str):company = Team()company.hire([ProductManager(),Architect(),ProjectManager(),Engineer(),])company.invest(investment=3.0)company.start_project(idea=idea)await company.run(n_round=5)
await startup(idea="write a cli blackjack game")
这段代码体现了 MetaGPT 的设计理念,该设计理念认为每个项目都可以抽象为一个标准流程(SOP)。在这个 SOP 下,不同的角色(Role)负责项目的不同方面,组成一个项目组(Team),共同完成项目。在上述代码中,MetaGPT 利用了 ProductManager、Architect、ProjectManager 和 Engineer 四个角色组成了一个项目组(Team),并共同完成了一个游戏开发任务。
metagpt生成了所有的设计文件和代码框架。

贪吃蛇游戏
接下来我们在 终端 运行
1.首先修改配置文件,拷贝样例配置 config.yaml 中的内容到你的新文件中,然后添加一下内容
OPENAI_BASE_URL: "https://api.openai.com/v1"
OPENAI_PROXY: "http://127.0.0.1:7890"
OPENAI_API_KEY: "sk-***" # set the value to sk-xxx if you host the openai interface for open llm model
OPENAI_API_MODEL: "gpt-3.5-turbo"
# OPENAI_API_MODEL: "gpt-4-1106-preview"
MAX_TOKENS: 1500
RPM: 10
TIMEOUT: 60 # Timeout for llm invocation
2.然后再终端运行
metagpt "写一个贪吃蛇游戏"

就会在终端显示思路和代码,随后我们可以在 workspace 目录下看到游戏的全部代码

运行
MetaGPT\workspace\game_snake\game_snake> python .\main.py
启动!

在这里讲一讲 openai api key 的获取方法
在获取OpenAI API key之前我们需要openai官网中注册一个账号。这里假设我们已经有了openai账号,先在openai官网登录,然后选择API。(如下图)

在OPENAI的API官网首页左侧边栏找到API keys,点击进入:

点击 Create new secret key
相关文章:
MetaGPT前期准备与快速上手
大家好,MetaGPT 是基于大型语言模型(LLMs)的多智能体协作框架,GitHub star数量已经达到31.3k。 接下来我们聊一下快速上手 这里写目录标题 一、环境搭建1.python 环境2. MetaGpt 下载 二、MetaGPT配置1.调用 ChatGPT API 服务2.简…...
Java、C#、Python间的Battle
一、编译原理和开发效率 编译速度: C# (约大于等于) JAVA > Python python的编译原理 前提:python 3.6 python不会直接编译源码 而是把源码直接扔给解释器,这种方式 使得python非常灵活,让它的开发效…...
【图形学】探秘图形学奥秘:DDA与Bresenham算法的解密与实战
🌈个人主页:Sarapines Programmer🔥 系列专栏:《图形学 | 图像解码》⏰诗赋清音:云生高巅梦远游, 星光点缀碧海愁。 山川深邃情难晤, 剑气凌云志自修。 目录 🌌1. 初识模式识别…...
微服务-Gateway
案例搭建 官网地址 父Pom <com.alibaba.cloud.version>2.2.8.RELEASE</com.alibaba.cloud.version> <com.cloud.version>Hoxton.SR12</com.cloud.version> <com.dubbo.version>2.2.7.RELEASE</com.dubbo.version> <dependencyManagem…...
【用队列实现栈】【用栈实现队列】Leetcode 232 225
【用队列实现栈】【用栈实现队列】Leetcode 232 225 队列的相关操作栈的相关操作用队列实现栈用栈实现队列 ---------------🎈🎈题目链接 用队列实现栈🎈🎈------------------- ---------------🎈🎈题目链…...
Angular系列教程之观察者模式和RxJS
文章目录 引言RxJS简介RxJS中的设计模式观察者模式迭代器模式 示例代码RxJS 在 Angular 中的应用总结 引言 在Angular开发中,我们经常需要处理异步操作,例如从后端获取数据或与用户的交互。为了更好地管理这些异步操作,Angular中引入了RxJS&…...
展厅设计中搭建的小常识
1、展厅的安全问题 展厅的空间面积大,平时为出现公开展览时人员较少,但遇到开展活动、会展展览时人流量将大大增多,无论是临时的展厅展示还是长期的展示安全问题即使不说都应该是装饰的重中之重,所以在从前期设计规划到后期施工采…...
LeetCode 98. 验证二叉搜索树
98. 验证二叉搜索树 给你一个二叉树的根节点 root ,判断其是否是一个有效的二叉搜索树。 有效 二叉搜索树定义如下: 节点的左子树只包含 小于 当前节点的数。节点的右子树只包含 大于 当前节点的数。所有左子树和右子树自身必须也是二叉搜索树。 示例…...
自定义shell工具函数之pull_image()
这是一个名为pull_image的Shell脚本函数。让我来解释一下这个函数的功能: function pull_image() {image$1DOCKER_IMAGE_MIRROR$(get_config_or_env DOCKER_IMAGE_MIRROR)if [[ "${DOCKER_IMAGE_MIRROR}" "1" ]]; thenif [[ "$(uname -m…...
2019年认证杯SPSSPRO杯数学建模C题(第二阶段)保险业的数字化变革全过程文档及程序
2019年认证杯SPSSPRO杯数学建模 基于统计建模的车险业数字变革研究 C题 保险业的数字化变革 原题再现: 车险,即机动车辆保险。保险自身是一种分散风险、消化损失的经济补偿制度,车险即为分散机动车辆在行驶过程中可能发作的未知风险和损失…...
【数据结构和算法】反转链表
其他系列文章导航 Java基础合集数据结构与算法合集 设计模式合集 多线程合集 分布式合集 ES合集 文章目录 其他系列文章导航 文章目录 前言 一、题目描述 二、题解 2.1 方法一:迭代(双指针) 2.2 方法二:递归 三、代码 3.…...
What is `GenericFilterBean` does?
GenericFilterBean 是 SpringWeb 框架中提供的一个抽象基类,其对 javax.servlet.Filter接口进行了封装和扩展,它简化了在 Servlet环境下创建自定义过滤器的工作。 GenericFilterBean 主要特点包括: 集成 Spring 容器: 由于它是一…...
突破通胀风险,聚焦现货黄金投资机遇
随着全球经济不断发展和金融市场的波动,通胀风险成为各界关注的焦点。在面对通胀带来的财务压力和资产贬值的威胁时,投资者都在寻找稳定且可靠的避险资产。而现货黄金作为一种值得瞩目的投资工具,正吸引着越来越多投资者的目光。 黄金作为一种…...
Jenkins集成Sonar Qube
下载插件 重启Jenkins 容器 sonarqube 使用令牌 Jenkins 配置 重新构建...
Angular系列教程之zone.js和NgZone
文章目录 什么是zone.jsZone的工作原理Zone的常见用途NgZone:Angular中的zone.js使用NgZone使用NgZone执行代码使用NgZone外部检测 结论 什么是zone.js 在Angular中,zone.js是一个非常重要的库,它为我们提供了一种跟踪和管理异步操作的机制。…...
阿里巴巴的第二代通义千问可能即将发布:Qwen2相关信息已经提交HuggingFace官方的transformers库
本文来自DataLearnerAI官方网站:阿里巴巴的第二代通义千问可能即将发布:Qwen2相关信息已经提交HuggingFace官方的transformers库 | 数据学习者官方网站(Datalearner) 通义千问是阿里巴巴开源的一系列大语言模型。Qwen系列大模型最高参数量720亿…...
肯尼斯·里科《C和指针》第6章 指针(6)编程的练习:查找字符
1.编写一个函数,它在一个字符串中进行搜索,查找在一个给定字符集合中出现的所有字符。这个函数的原型如下: char *find_char( char const *source, char const *chars ); 它的基本想法是查找source字符串中匹配chars字符串中任何字符的第1个…...
Entity Framework知识点整理
Entity Framework Entity Framework(EF)是微软提供的一种对象关系映射(Object-Relational Mapping,ORM)框架,用于在.NET应用程序和关系型数据库之间建立映射关系。它简化了数据访问层的开发,使…...
源码搭建教学:连锁餐饮APP开发实战
连锁餐饮APP,对于很多从事餐饮行业的人来说不会陌生,同样这个项目本身就有着很高的热度。今天,小编将深入为大家讲述一下此系统的前后端开发、数据库设计、用户界面设计等方面,让您深入了解全栈开发的方方面面。 一、项目准备与规…...
使用JavaScript实现一个在线画板
一、引言 随着Web技术的发展,网页上的交互性变得越来越重要。一个在线画板是一个很好的例子,它允许用户在网页上自由创作。在这篇博客中,我们将使用HTML5的Canvas元素和JavaScript来实现一个简单的在线画板 二、HTML结构 首先,…...
PyTorch 2.8镜像代码实例:使用预装torchaudio+FFmpeg实现TTS+视频合成Pipeline
PyTorch 2.8镜像代码实例:使用预装torchaudioFFmpeg实现TTS视频合成Pipeline 1. 环境准备与快速验证 在开始之前,我们先确认环境是否正常工作。这个PyTorch 2.8镜像已经预装了所有必要的组件,包括torchaudio和FFmpeg。 1.1 验证GPU可用性 …...
uni-app Android应用华为审核隐私权限提示与上架授权说明实战指南
1. uni-app Android应用华为审核隐私权限问题解析 第一次用uni-app开发Android应用准备上架华为市场时,我被审核驳回的理由整懵了——"缺少权限使用说明"。明明iOS版本在manifest.json配得好好的,怎么到Android就出问题?后来才发现…...
SQL 基础及 MySQL DBA 运维实战 - 6:Mycat代理技术
MySQL DBA运维实战:集群与代理技术深度解析 引言 在现代互联网应用中,数据库的高可用性、可扩展性和性能是企业级应用的核心需求。随着业务量的增长,单一数据库服务器往往无法满足需求,此时数据库集群和代理技术成为解决这些问题…...
终极窗口尺寸编辑器:SRWE让你的应用程序窗口自由伸缩
终极窗口尺寸编辑器:SRWE让你的应用程序窗口自由伸缩 【免费下载链接】SRWE Simple Runtime Window Editor 项目地址: https://gitcode.com/gh_mirrors/sr/SRWE Simple Runtime Window Editor (SRWE) 是一款革命性的开源工具,它能让你实时调整任何…...
3个步骤掌握Markmap:将Markdown转换为交互式思维导图完全指南
3个步骤掌握Markmap:将Markdown转换为交互式思维导图完全指南 【免费下载链接】markmap Build mindmaps with plain text 项目地址: https://gitcode.com/gh_mirrors/ma/markmap Markmap作为一款强大的开源工具,能够将普通的Markdown文本转换为直…...
掌机影音革命:wiliwili跨设备媒体中心实战指南
掌机影音革命:wiliwili跨设备媒体中心实战指南 【免费下载链接】wiliwili 专为手柄控制设计的第三方跨平台B站客户端,目前可以运行在PC全平台、PSVita、PS4 和 Nintendo Switch上 项目地址: https://gitcode.com/GitHub_Trending/wi/wiliwili 在移…...
打造企业级 AI Agent:任务编排 + 多工具系统(Python 深度实战)
如果你已经写过简单的 AI Agent,你很快会遇到一个问题:❌ 能跑 Demo,但一到真实业务就崩为什么?因为你缺的不是模型,而是这三样东西:任务编排(Workflow)多工具系统(Tool …...
Cursor Pro免费激活终极指南:3种方法永久解锁AI编程助手
Cursor Pro免费激活终极指南:3种方法永久解锁AI编程助手 【免费下载链接】cursor-free-vip [Support 0.45](Multi Language 多语言)自动注册 Cursor Ai ,自动重置机器ID , 免费升级使用Pro 功能: Youve reached your t…...
技术速递|6000 万次 Copilot 代码审查 且仍在持续增长
作者:Ria Gopu & David Apirian排版:Alan WangCopilot 代码审查如何帮助团队跟上 AI 加速带来的代码变更。自去年 4 月我们首次推出 Copilot 代码审查(CCR)以来,其使用量已增长了 10 倍,目前已占 GitHu…...
Nunchaku-flux-1-dev生成效果对比:不同采样器与步数下的画质差异
Nunchaku-flux-1-dev生成效果对比:不同采样器与步数下的画质差异 最近在玩AI生图的朋友,估计都绕不开一个话题:怎么调参数才能让图更好看?是选个快的采样器,还是选个慢的但质量高的?采样步数到底调到多少才…...
