当前位置: 首页 > news >正文

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 队列的相关操作栈的相关操作用队列实现栈用栈实现队列 ---------------&#x1f388;&#x1f388;题目链接 用队列实现栈&#x1f388;&#x1f388;------------------- ---------------&#x1f388;&#x1f388;题目链…...

Angular系列教程之观察者模式和RxJS

文章目录 引言RxJS简介RxJS中的设计模式观察者模式迭代器模式 示例代码RxJS 在 Angular 中的应用总结 引言 在Angular开发中&#xff0c;我们经常需要处理异步操作&#xff0c;例如从后端获取数据或与用户的交互。为了更好地管理这些异步操作&#xff0c;Angular中引入了RxJS&…...

展厅设计中搭建的小常识

1、展厅的安全问题 展厅的空间面积大&#xff0c;平时为出现公开展览时人员较少&#xff0c;但遇到开展活动、会展展览时人流量将大大增多&#xff0c;无论是临时的展厅展示还是长期的展示安全问题即使不说都应该是装饰的重中之重&#xff0c;所以在从前期设计规划到后期施工采…...

LeetCode 98. 验证二叉搜索树

98. 验证二叉搜索树 给你一个二叉树的根节点 root &#xff0c;判断其是否是一个有效的二叉搜索树。 有效 二叉搜索树定义如下&#xff1a; 节点的左子树只包含 小于 当前节点的数。节点的右子树只包含 大于 当前节点的数。所有左子树和右子树自身必须也是二叉搜索树。 示例…...

自定义shell工具函数之pull_image()

这是一个名为pull_image的Shell脚本函数。让我来解释一下这个函数的功能&#xff1a; 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题 保险业的数字化变革 原题再现&#xff1a; 车险&#xff0c;即机动车辆保险。保险自身是一种分散风险、消化损失的经济补偿制度&#xff0c;车险即为分散机动车辆在行驶过程中可能发作的未知风险和损失…...

【数据结构和算法】反转链表

其他系列文章导航 Java基础合集数据结构与算法合集 设计模式合集 多线程合集 分布式合集 ES合集 文章目录 其他系列文章导航 文章目录 前言 一、题目描述 二、题解 2.1 方法一&#xff1a;迭代&#xff08;双指针&#xff09; 2.2 方法二&#xff1a;递归 三、代码 3.…...

What is `GenericFilterBean` does?

GenericFilterBean 是 SpringWeb 框架中提供的一个抽象基类&#xff0c;其对 javax.servlet.Filter接口进行了封装和扩展&#xff0c;它简化了在 Servlet环境下创建自定义过滤器的工作。 GenericFilterBean 主要特点包括&#xff1a; 集成 Spring 容器&#xff1a; 由于它是一…...

突破通胀风险,聚焦现货黄金投资机遇

随着全球经济不断发展和金融市场的波动&#xff0c;通胀风险成为各界关注的焦点。在面对通胀带来的财务压力和资产贬值的威胁时&#xff0c;投资者都在寻找稳定且可靠的避险资产。而现货黄金作为一种值得瞩目的投资工具&#xff0c;正吸引着越来越多投资者的目光。 黄金作为一种…...

Jenkins集成Sonar Qube

下载插件 重启Jenkins 容器 sonarqube 使用令牌 Jenkins 配置 重新构建...

Angular系列教程之zone.js和NgZone

文章目录 什么是zone.jsZone的工作原理Zone的常见用途NgZone&#xff1a;Angular中的zone.js使用NgZone使用NgZone执行代码使用NgZone外部检测 结论 什么是zone.js 在Angular中&#xff0c;zone.js是一个非常重要的库&#xff0c;它为我们提供了一种跟踪和管理异步操作的机制。…...

阿里巴巴的第二代通义千问可能即将发布:Qwen2相关信息已经提交HuggingFace官方的transformers库

本文来自DataLearnerAI官方网站&#xff1a;阿里巴巴的第二代通义千问可能即将发布&#xff1a;Qwen2相关信息已经提交HuggingFace官方的transformers库 | 数据学习者官方网站(Datalearner) 通义千问是阿里巴巴开源的一系列大语言模型。Qwen系列大模型最高参数量720亿&#xf…...

肯尼斯·里科《C和指针》第6章 指针(6)编程的练习:查找字符

1.编写一个函数&#xff0c;它在一个字符串中进行搜索&#xff0c;查找在一个给定字符集合中出现的所有字符。这个函数的原型如下&#xff1a; char *find_char( char const *source, char const *chars ); 它的基本想法是查找source字符串中匹配chars字符串中任何字符的第1个…...

Entity Framework知识点整理

Entity Framework Entity Framework&#xff08;EF&#xff09;是微软提供的一种对象关系映射&#xff08;Object-Relational Mapping&#xff0c;ORM&#xff09;框架&#xff0c;用于在.NET应用程序和关系型数据库之间建立映射关系。它简化了数据访问层的开发&#xff0c;使…...

源码搭建教学:连锁餐饮APP开发实战

连锁餐饮APP&#xff0c;对于很多从事餐饮行业的人来说不会陌生&#xff0c;同样这个项目本身就有着很高的热度。今天&#xff0c;小编将深入为大家讲述一下此系统的前后端开发、数据库设计、用户界面设计等方面&#xff0c;让您深入了解全栈开发的方方面面。 一、项目准备与规…...

使用JavaScript实现一个在线画板

一、引言 随着Web技术的发展&#xff0c;网页上的交互性变得越来越重要。一个在线画板是一个很好的例子&#xff0c;它允许用户在网页上自由创作。在这篇博客中&#xff0c;我们将使用HTML5的Canvas元素和JavaScript来实现一个简单的在线画板 二、HTML结构 首先&#xff0c;…...

vscode里如何用git

打开vs终端执行如下&#xff1a; 1 初始化 Git 仓库&#xff08;如果尚未初始化&#xff09; git init 2 添加文件到 Git 仓库 git add . 3 使用 git commit 命令来提交你的更改。确保在提交时加上一个有用的消息。 git commit -m "备注信息" 4 …...

HBuilderX安装(uni-app和小程序开发)

下载HBuilderX 访问官方网站&#xff1a;https://www.dcloud.io/hbuilderx.html 根据您的操作系统选择合适版本&#xff1a; Windows版&#xff08;推荐下载标准版&#xff09; Windows系统安装步骤 运行安装程序&#xff1a; 双击下载的.exe安装文件 如果出现安全提示&…...

Maven 概述、安装、配置、仓库、私服详解

目录 1、Maven 概述 1.1 Maven 的定义 1.2 Maven 解决的问题 1.3 Maven 的核心特性与优势 2、Maven 安装 2.1 下载 Maven 2.2 安装配置 Maven 2.3 测试安装 2.4 修改 Maven 本地仓库的默认路径 3、Maven 配置 3.1 配置本地仓库 3.2 配置 JDK 3.3 IDEA 配置本地 Ma…...

Linux --进程控制

本文从以下五个方面来初步认识进程控制&#xff1a; 目录 进程创建 进程终止 进程等待 进程替换 模拟实现一个微型shell 进程创建 在Linux系统中我们可以在一个进程使用系统调用fork()来创建子进程&#xff0c;创建出来的进程就是子进程&#xff0c;原来的进程为父进程。…...

Selenium常用函数介绍

目录 一&#xff0c;元素定位 1.1 cssSeector 1.2 xpath 二&#xff0c;操作测试对象 三&#xff0c;窗口 3.1 案例 3.2 窗口切换 3.3 窗口大小 3.4 屏幕截图 3.5 关闭窗口 四&#xff0c;弹窗 五&#xff0c;等待 六&#xff0c;导航 七&#xff0c;文件上传 …...

android13 app的触摸问题定位分析流程

一、知识点 一般来说,触摸问题都是app层面出问题,我们可以在ViewRootImpl.java添加log的方式定位;如果是touchableRegion的计算问题,就会相对比较麻烦了,需要通过adb shell dumpsys input > input.log指令,且通过打印堆栈的方式,逐步定位问题,并找到修改方案。 问题…...

ubuntu22.04有线网络无法连接,图标也没了

今天突然无法有线网络无法连接任何设备&#xff0c;并且图标都没了 错误案例 往上一顿搜索&#xff0c;试了很多博客都不行&#xff0c;比如 Ubuntu22.04右上角网络图标消失 最后解决的办法 下载网卡驱动&#xff0c;重新安装 操作步骤 查看自己网卡的型号 lspci | gre…...

用神经网络读懂你的“心情”:揭秘情绪识别系统背后的AI魔法

用神经网络读懂你的“心情”:揭秘情绪识别系统背后的AI魔法 大家好,我是Echo_Wish。最近刷短视频、看直播,有没有发现,越来越多的应用都开始“懂你”了——它们能感知你的情绪,推荐更合适的内容,甚至帮客服识别用户情绪,提升服务体验。这背后,神经网络在悄悄发力,撑起…...

FOPLP vs CoWoS

以下是 FOPLP&#xff08;Fan-out panel-level packaging 扇出型面板级封装&#xff09;与 CoWoS&#xff08;Chip on Wafer on Substrate&#xff09;两种先进封装技术的详细对比分析&#xff0c;涵盖技术原理、性能、成本、应用场景及市场趋势等维度&#xff1a; 一、技术原…...

从0开始学习R语言--Day17--Cox回归

Cox回归 在用医疗数据作分析时&#xff0c;最常见的是去预测某类病的患者的死亡率或预测他们的结局。但是我们得到的病人数据&#xff0c;往往会有很多的协变量&#xff0c;即使我们通过计算来减少指标对结果的影响&#xff0c;我们的数据中依然会有很多的协变量&#xff0c;且…...