【MetaGPT】配置教程

news2024/12/27 9:43:14

MetaGPT配置教程(使用智谱AI的GLM-4)

文章目录

  • MetaGPT配置教程(使用智谱AI的GLM-4)
    • 零、为什么要学MetaGPT
    • 一、配置环境
    • 二、克隆代码仓库
    • 三、设置智谱AI配置
    • 四、 示例demo(狼羊对决)
    • 五、参考链接

零、为什么要学MetaGPT

  • 因为MetaGPT是 LLM Agent领域第一高分论文,全网Star数最高的多智能体框架。ICLR 2024 Oral 🙌

ICLR 2024录用结果公布:MetaGPT 的论文 《MetaGPT: Meta Programming for A Multi-Agent Collaborative Framework》将被展示为Oral(口头报告)。这一荣誉仅占全部提交论文中的1.2%,并且位列LLM-based Agent 关键字第一!

  • 因为可以当帕鲁LLM老板:输入一句话的老板需求,输出用户故事 / 竞品分析 / 需求 / 数据结构 / APIs / 文件等。

在这里插入图片描述

  • 因为报名了Datawhale的组队学习。(正解)

说了再多也得从环境配置开始…

一、配置环境

创建一个新的conda环境并激活它:

conda create -n for_meta python==3.11
conda activate for_meta

检查Python版本以确保它大于3.9:

python --version

二、克隆代码仓库

然后,从GitHub上克隆MetaGPT的最新代码仓库:

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

然后,使用pip安装仓库中的代码:

pip install -e .

但是现在的MetaGPT更新飞快,兴许以后的版本就不同了。所以先确定下现在的版本。

pip show metagpt # Version: 0.7.2

三、设置智谱AI配置

安装之后,可以新建一个项目目录来检索默认的配置文件地址。

from metagpt.const import DEFAULT_WORKSPACE_ROOT, METAGPT_ROOT, OPTIONS
default_yaml_file = METAGPT_ROOT / "config/config.yaml"
print(METAGPT_ROOT / "config/config.yaml")

我们输出的是在MetaGPT的源码目录中config/config2.yaml文件,我们在此设置智谱AI的配置。
修改为以下内容:

llm:
  api_type: 'zhipuai'
  api_key: 'Your api key....'
  model: 'glm-4'

确保将api_key替换为您的智谱AI API密钥。

新注册有百万token,具体可以从这里智谱AI开放平台查看。
(要是有邀请码,邀请别人送token就好了…)

四、 示例demo(狼羊对决)

实际上就是角色扮演

from metagpt.team import Team
from metagpt.roles import Role
from metagpt.environment import Environment
from metagpt.actions import Action
import asyncio

action1 = Action(
    name="喜羊羊说", instruction="批驳别人想法,表明你的创新发明并带有情感,不要重复。")
action2 = Action(
    name="灰太狼说", instruction="批驳别人想法,表明你的创新发明并带有情感,不要重复。")

honglong = Role(name="喜羊羊", profile="羊村发明家",
                goal="赢得青青草原最强发明产品", actions=[action1], watch=[action2])
bob = Role(name="灰太狼", profile="狼堡发明家",
           goal="赢得青青草原最强发明产品", actions=[action2], watch=[action1])

env = Environment(desc="最强发明评选大赛")

team = Team(investment=10.0, env=env, roles=[honglong, bob])

asyncio.run(team.run(
    idea="主题:实用性与美观性。每条消息不超过4句话。", send_to="喜羊羊", n_round=5))
# 这里设置的n_round=5是指两个人一共对话的次数是5个回合。

Tip:如果你遇到ModuleNotFoundError: No module named 'pwd'的错误,请将import pwd移动到使用它的位置。借鉴群里的图。

在这里插入图片描述

至此,我们就可以直接运行代码,得到如下输出结果。
一共对话5次,中途发生了一点点的网络问题,不过问题不大,依旧能继续执行下去。

请添加图片描述

五、参考链接

  1. 论文地址:https://arxiv.org/abs/2308.00352
  2. 代码仓库:https://github.com/geekan/MetaGPT
  3. 官方文档:https://docs.deepwisdom.ai/zhcn/guide/get_started/introduction.html
  4. Datawhale学习仓库:https://github.com/datawhalechina/hugging-multi-agent

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1487011.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

HTML和CSS (前端共三篇)【详解】

目录 一、前端开发介绍 二、HTML入门 三、HTML基础标签 四、CSS样式修饰 五、HTML表格标签 六、HTML表单标签 一、前端开发介绍 web应用有BS和CS架构两种,其中我们主要涉及的是BS架构。而BS架构里,B(Browser浏览器)是客户端的…

Sqli-labs靶场第21、22关详解[Sqli-labs-less-21、22]自动化注入-SQLmap工具注入|sqlmap跑base64加密

Sqli-labs-Less-21、22 由于21/22雷同,都是需要登录后,注入点通过Cookie值进行测试,值base64加密 修改注入数据 选项:--tamperbase64encode #自动化注入-SQLmap工具注入 SQLmap用户手册:文档介绍 - sqlmap 用户手册 由…

关于硅金属电阻器?

EAK金属硅电阻器类似于陶瓷复合电阻器,在脉冲负载方面具有优势,需要高峰值功率或高电压与低电感(如预充电电路)的组合。硅金属电阻器具有更高的连续额定温度,为 350C,而陶瓷电阻器为 250C。这种扩展的温度范…

【java】final、finally和finalize的区别

例题: package com.overload;public class ExceptionTest {public static void main(String[] args) {int result test();System.out.println(result); //100}public static int test(){int i 100;try {return i;} finally {i;}} }结果为:100 造成结果…

JUC并发编程 深入学习Java并发编程【上】

JUC并发编程,深入学习Java并发编程,与视频每一P对应,全系列6w字。 P1-5 为什么学特色预备知识 进程线程概念 进程: 一个程序被运行,从磁盘加载这个程序的代码到内存,就开起了一个进程。 进程可以视为程…

人工智能_大模型015_RAG量化检索增强002_AIGC大模型_本地知识库实时问答_私域和实时场景_量化检索增强---人工智能工作笔记0151

由于上一节我们提到的,关键词检索的局限性,现在我们引出向量检索, 关键词检索有语义上的缺陷,因为我们说法不一样,但是意思一样的话,那么,关键词如果在es库中没有,那么会导致,找不到答案的情况.所以我们引出向量检索,要求语义一样的词,去检索都能找到答案. 我们来说一下这个文…

突破编程_前端_JS编程实例(网站标题栏TAB组件)

1 开发目标 实现如下网站标题栏 TAB 组件: 在点击"页面2"选项卡后,TAB 组件会切换对应的面板: 2 详细需求 网站标题栏 TAB 组件该组件需根据客户端提供的参数创建,具备动态构建 TAB 区域、选项卡切换及自定义内容…

Django模型进阶(Mysql配置、模型管理,表关联、一对一、一对多,多对多)

模型进阶: Mysql配置: 1.安装mysql 2安装MySQL驱动,使⽤mysqlclient pip install mysqlclient pip install -i https://pypi.douban.com/simple mysqlclientLinux Ubuntu下需要先安装:apt install libmysqld-dev 再安装: apt…

[BJDCTF2020]EzPHP1 --不会编程的崽

有一说一,这题还是有难度的 base32解码url编码绕过$_SERVER换行符绕过preg_match相同参数,post请求覆盖get请求,绕过$_REQUESTphp伪协议利用sha1数组绕过create_function代码注入 Level 1 右键源码里又发现,拿去base32解码即可…

w30使用python调用shell脚本

使用python脚本去实现永恒之蓝漏洞攻击 实验环境 攻击工具:pythonmsfconsole 靶场:win7 和 kali实验目的 演示python脚本调用过程 实验步骤 1.写一个永恒之蓝的攻击脚本,定义为blue.rc use exploit/windows/smb/ms17_010_eternalblue …

Microsoft PyRIT能自动化完成AI红队的任务

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…

【算法集训】基础算法:枚举

一、基本理解 枚举的概念就是把满足题目条件的所有情况都列举出来,然后一一判定,找到最优解的过程。 枚举虽然看起来麻烦,但是有时效率上比排序高,也是一个不错的方法、 二、最值问题 1、两个数的最值问题 两个数的最小值&…

【Android】View事件体系基础

文章目录 坐标系View滑动layout方法offserLeftAndRight() 和 offsetTopAndBottom()LayoutParams(布局参数)View动画scrollTo/scrollBy 解析Activity的构成 坐标系 分为Android坐标系和View坐标系 可以用 getWidth() 和 getHeight() 获取View自身的宽度和高度 对于ViewgetX() …

求Sn=a+aa+aaa+aaaa+aaaaa的前n项之和

求Snaaaaaaaaaaaaaaa的前5项之和&#xff0c;其中a是一个数字&#xff0c; 例如&#xff1a;222222222222222 int main() {int a;scanf("%d", &a);int n;scanf("%d", &n);int sum 0;int tmp 0;for (int i 0; i < n; i){tmp tmp * 10 a;sum…

bxCAN总线的工作模式和测试模式(STM32F4xx)

概述 本文主要介绍STM32F4XX的bxCAN知识&#xff0c;包括bxCAN的概念&#xff0c;各种工作模式下特性&#xff0c;如何配置各类工作模式等内容&#xff0c;还介绍了bxCAN的测试模式&#xff0c;bxCAN测试模式有3种工作类型&#xff0c;每种类型有什么特性&#xff0c;以及如何配…

C语言之指针习题一

1. 解析&#xff1a;全选 2. 解析&#xff1a;A.当内存空间释放后&#xff0c;指针将指向其他的区域&#xff0c;成为野指针 3. 解析&#xff1a;B&#xff0c;assert只会在调试模式&#xff08;debug&#xff09;下使用&#xff0c;release不会使用 4. 解析&#xff1a; A…

IDEA集成Tomcat服务器指南

目录 一.概述 二.下载安装 三.启动Tomcat服务器 四.修改端口号 五.Maven Web项目 六.创建项目 1.使用骨架 2.不使用骨架 七.Idea中集成Tomcat 1.集成本地Tomcat 2.使用Maven插件 一.概述 所谓的Web服务器软件&#xff0c;功能是对HTTP协议的操作进行封装&#xff0…

ros2的nav2_map_server导入地图时,rviz2显示no map received

ros2的nav2_map_server导入地图时&#xff0c;rviz2显示no map received 步骤&#xff1a; 1、打开终端&#xff0c;进入src/map/运行下面指令&#xff1a; ros2 run nav2_map_server map_server --ros-args --param yaml_filename:fishbot_map.yaml2、打开rviz2 rviz2通过a…

leetcode 热题 100_无重复字符的最长子串

题解一&#xff1a; 滑动窗口哈希表&#xff1a;假设字符串为"abcabcbb"&#xff0c;遍历循环所有子串&#xff0c;以不同位置作为子串的起始&#xff0c;则会得到以下最长子串。其中最长子串的右端点会随着左端点的右移而右移&#xff0c;也可能不变&#xff0c;原因…

跨平台指南:在 Windows 和 Linux 上安装 OpenSSL 的完整流程

Windows安装 一&#xff1a;找到安装包&#xff0c;双击即可 https://gitee.com/wake-up-again/installation-package.git 二&#xff1a;按照提示&#xff0c;一步一步来&#xff0c;就可以啦 三&#xff1a;此界面意思是&#xff0c;是否想向创作者捐款&#xff0c;自己视情…