【多智能体】MetaGPT配置教程(应用智谱AI的GLM-4)

2024-02-29 11:52

本文主要是介绍【多智能体】MetaGPT配置教程(应用智谱AI的GLM-4),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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 asyncioaction1 = 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

这篇关于【多智能体】MetaGPT配置教程(应用智谱AI的GLM-4)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/758690

相关文章

MySQL数据库双机热备的配置方法详解

《MySQL数据库双机热备的配置方法详解》在企业级应用中,数据库的高可用性和数据的安全性是至关重要的,MySQL作为最流行的开源关系型数据库管理系统之一,提供了多种方式来实现高可用性,其中双机热备(M... 目录1. 环境准备1.1 安装mysql1.2 配置MySQL1.2.1 主服务器配置1.2.2 从

Linux云服务器手动配置DNS的方法步骤

《Linux云服务器手动配置DNS的方法步骤》在Linux云服务器上手动配置DNS(域名系统)是确保服务器能够正常解析域名的重要步骤,以下是详细的配置方法,包括系统文件的修改和常见问题的解决方案,需要... 目录1. 为什么需要手动配置 DNS?2. 手动配置 DNS 的方法方法 1:修改 /etc/res

mysql8.0.43使用InnoDB Cluster配置主从复制

《mysql8.0.43使用InnoDBCluster配置主从复制》本文主要介绍了mysql8.0.43使用InnoDBCluster配置主从复制,文中通过示例代码介绍的非常详细,对大家的学习或者... 目录1、配置Hosts解析(所有服务器都要执行)2、安装mysql shell(所有服务器都要执行)3、

全网最全Tomcat完全卸载重装教程小结

《全网最全Tomcat完全卸载重装教程小结》windows系统卸载Tomcat重新通过ZIP方式安装Tomcat,优点是灵活可控,适合开发者自定义配置,手动配置环境变量后,可通过命令行快速启动和管理... 目录一、完全卸载Tomcat1. 停止Tomcat服务2. 通过控制面板卸载3. 手动删除残留文件4.

java程序远程debug原理与配置全过程

《java程序远程debug原理与配置全过程》文章介绍了Java远程调试的JPDA体系,包含JVMTI监控JVM、JDWP传输调试命令、JDI提供调试接口,通过-Xdebug、-Xrunjdwp参数配... 目录背景组成模块间联系IBM对三个模块的详细介绍编程使用总结背景日常工作中,每个程序员都会遇到bu

利用Python操作Word文档页码的实际应用

《利用Python操作Word文档页码的实际应用》在撰写长篇文档时,经常需要将文档分成多个节,每个节都需要单独的页码,下面:本文主要介绍利用Python操作Word文档页码的相关资料,文中通过代码... 目录需求:文档详情:要求:该程序的功能是:总结需求:一次性处理24个文档的页码。文档详情:1、每个

Python的pandas库基础知识超详细教程

《Python的pandas库基础知识超详细教程》Pandas是Python数据处理核心库,提供Series和DataFrame结构,支持CSV/Excel/SQL等数据源导入及清洗、合并、统计等功能... 目录一、配置环境二、序列和数据表2.1 初始化2.2  获取数值2.3 获取索引2.4 索引取内容2

python依赖管理工具UV的安装和使用教程

《python依赖管理工具UV的安装和使用教程》UV是一个用Rust编写的Python包安装和依赖管理工具,比传统工具(如pip)有着更快、更高效的体验,:本文主要介绍python依赖管理工具UV... 目录前言一、命令安装uv二、手动编译安装2.1在archlinux安装uv的依赖工具2.2从github

Rust 智能指针的使用详解

《Rust智能指针的使用详解》Rust智能指针是内存管理核心工具,本文就来详细的介绍一下Rust智能指针(Box、Rc、RefCell、Arc、Mutex、RwLock、Weak)的原理与使用场景,... 目录一、www.chinasem.cnRust 智能指针详解1、Box<T>:堆内存分配2、Rc<T>:

Java中的分布式系统开发基于 Zookeeper 与 Dubbo 的应用案例解析

《Java中的分布式系统开发基于Zookeeper与Dubbo的应用案例解析》本文将通过实际案例,带你走进基于Zookeeper与Dubbo的分布式系统开发,本文通过实例代码给大家介绍的非常详... 目录Java 中的分布式系统开发基于 Zookeeper 与 Dubbo 的应用案例一、分布式系统中的挑战二