【AI Agent系列】【MetaGPT多智能体学习】0. 环境准备 - 升级MetaGPT 0.7.2版本及遇到的坑

之前跟着《MetaGPT智能体开发入门课程》学了一些MetaGPT的知识和实践,主要关注在MetaGPT入门和单智能体部分(系列文章附在文末,感兴趣的可以看下)。现在新的教程来了,新教程主要关注多智能体部分。

本系列文章跟随《MetaGPT多智能体课程》(https://github.com/datawhalechina/hugging-multi-agent),深入理解并实践多智能体系统的开发。

本文为该课程的前期准备 - 环境搭建。

文章目录

  • 0. 环境准备中遇到的坑
    • 0.1 环境升级
    • 0.2 坑一:1 validation error for Config
    • 0.3 坑二:No module named 'pwd'
    • 0.4 运行成功
  • 附:之前MetaGPT单智能体课程的系列笔记

0. 环境准备中遇到的坑

0.1 环境升级

距离上次单智能体的入门课程已经过了一个多月了,这一个月间,MetaGPT也在快速迭代,0.5版本到0.6版本再到0.7版本。要用就用最新的… 所以我升级了0.7版本。并且从源码安装:

git clone https://github.com/geekan/MetaGPT.git
cd /your/path/to/MetaGPT
pip install -e .

更具体和更多的安装方式可参考官方教程。

升级的过程很顺利,然后运行示例程序检验环境是否能用。先不要管这个程序是干嘛的,直接拷贝到一个python文件中,点运行。

import asyncio

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

action1 = Action(name="AlexSay", instruction="Express your opinion with emotion and don't repeat it")
action2 = Action(name="BobSay", instruction="Express your opinion with emotion and don't repeat it")
alex = Role(name="Alex", profile="Democratic candidate", goal="Win the election", actions=[action1], watch=[action2])
bob = Role(name="Bob", profile="Republican candidate", goal="Win the election", actions=[action2], watch=[action1])
env = Environment(desc="US election live broadcast")
team = Team(investment=10.0, env=env, roles=[alex, bob])

asyncio.run(team.run(idea="Topic: climate change. Under 80 words per message.", send_to="Alex", n_round=5))

0.2 坑一:1 validation error for Config

在这里插入图片描述
这是因为没有设置API key导致的。找到 MetaGPT/config/config2.yaml文件,修改里面的参数,把你的key,model等填进去:

在这里插入图片描述

0.3 坑二:No module named ‘pwd’

在这里插入图片描述
这是因为Windows环境下没有pwd命令。因为这是封装在langchain内部的,我们不太好改源码。可以用以下两种解决方法:

(1)换 WSL 环境来运行程序

(2)还是Windows环境,将 langchain 的版本换一下:

pip install langchain==0.1.6
pip install langchain-community==0.0.19

所以如果你是Windows环境,那么大概也只能使用 WSL 来运行程序了。

0.4 运行成功

运行后的输出应该类似下图这样:

在这里插入图片描述
至此,环境准备好了。

附:之前MetaGPT单智能体课程的系列笔记

  • 【AI的未来 - AI Agent系列】【MetaGPT】0. 你的第一个MetaGPT程序
  • 【AI的未来 - AI Agent系列】【MetaGPT】1. AI Agent如何重构世界
  • 【AI的未来 - AI Agent系列】【MetaGPT】2. 实现自己的第一个Agent
  • 【AI的未来 - AI Agent系列】【MetaGPT】3. 实现一个订阅智能体,订阅消息并打通微信和邮件
  • 【AI的未来 - AI Agent系列】【MetaGPT】4. ActionNode从理论到实战
  • 【AI的未来 - AI Agent系列】【MetaGPT】4.1 细说我在ActionNode实战中踩的那些坑
  • 【AI的未来 - AI Agent系列】【MetaGPT】5. 更复杂的Agent实战 - 实现技术文档助手
  • 【AI的未来 - AI Agent系列】【MetaGPT】6. 用ActionNode重写技术文档助手
  • 【AI Agent系列】【MetaGPT】7. 实战:只用两个字,让MetaGPT写一篇小说
  • 【AI Agent系列】【MetaGPT】8. 一句话订阅专属信息 - 订阅智能体进阶,实现一个更通用的订阅智能体
  • 【AI Agent系列】【MetaGPT】9. 一句话订阅专属信息 - 订阅智能体进阶,实现一个更通用的订阅智能体(2)
  • 【AI Agent系列】【MetaGPT】【深入源码】智能体的运行周期以及多智能体间如何协作
  • 【AI Agent系列】【MetaGPT】总结这段时间学习MetaGPT的一些学习方法和感悟

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

mysql学习--binlog与gtid主从同步

基础环境 基于centOS7-MySQL8.0.35版本 我们先准备一台主服务器两台从服务器来实现我们主从同步的诉求 Master:192.168.75.142 slave1:192.168.75.143 slave:192.168.75.145 binlog主从同步 主库配置 #我们需要在主从库中都需要添加server_id&am…

[C++]AVL树怎么转

AVL树是啥 一提到AVL树,脑子里不是旋了,就是悬了。 AVL树之所以难,并不是因为结构难以理解,而是因为他的旋转。 AVL树定义 平衡因子:对于一颗二叉树,某节点的左右子树高度之差,就是该节点的…

STM32 串口通信

串口发原理 在stm32每个串口内部有发送寄存器和发送移位寄存器。 当调用HAL_UART_Transmit 时,cpu会将发送的数据放入发送寄存器中。发送移位寄存器会将数据转换成电平的高低,从TX发出。 1、轮询模式配置、发送与接收 轮询模式时cpu会不断检测发送数…

【MATLAB源码-第150期】基于matlab的开普勒优化算法(KOA)机器人栅格路径规划,输出做短路径图和适应度曲线。

操作环境: MATLAB 2022a 1、算法描述 开普勒优化算法(Kepler Optimization Algorithm, KOA)是一个虚构的、灵感来自天文学的优化算法,它借鉴了开普勒行星运动定律的概念来设计。在这个构想中,算法模仿行星围绕太阳的…

SAP EC-CS如何实现自动抵消

SAP EC-CS 是SAP 比较早的合并方案,尽管后面有很多其他的方案作为替代,但 EC-CS 因为其成熟性,在集团合并单元不多的情况下,也可以作为一个不错的合并解决方案。可以说,会计报表合并一个核心就是实现抵消的处理&#x…

计算机视觉基础知识(十六)--图像识别

图像识别 信息时代的一门重要技术;目的是让计算机代替人类处理大量的物理信息;随着计算机技术的发展,人类对图像识别技术的认识越来越深刻;图像识别技术利用计算机对图像进行处理\分析\理解,识别不同模式的目标和对象;过程分为信息的获取\预处理\特征抽取和选择\分类器设计\分…

N皇后问题详解:回溯算法的应用与实践(dfs)

目录 一.问题描述二.思路分析1.DFS三.代码实现与解析1.分析2.完整代码 一.问题描述 题目如上图所示,在一个n*n的国际象棋棋盘上怎么摆放能使得皇后互相攻击不到(也就是在任意一列、一行、一条对角线上都不存在两个皇后) 二.思路分析 1.DFS …

C/C++内存管理及内存泄漏详解

目录 C/C内存分布 C语言中动态内存管理方式:malloc/calloc/realloc/free C内存管理方式 new/delete操作内置类型 new和delete操作自定义类型 operator new与operator delete函数 new和delete的实现原理 内置类型 自定义类型 内存泄漏 概念 内存泄漏分类 ⭐…

虚拟化介绍

虚拟化理论介绍 什么是虚拟化: 虚拟化(Virtualization)技术最早出现在 20 世纪 60 年代的 IBM 大型机系统。 在70年代的 System 370 系列中逐渐流行起来,这些机器通过一种叫虚拟机监控器(Virtual Machine Monitor,V…

网络仿真(一)

网络仿真的意义 在网络规划和设计、网络设备研发、网络协议开发中,需要一种手段来反映和预测网络的性能 网络仿真可以提高网络规划设计的可靠性和准确性,明显降低网络投资风险,减少不必要的浪费 Ns-2 is a discrete event simulator Sched…

Page Object模式:为什么它是Web自动化测试的必备工具

为 UI 页面写测试用例时(比如 web 页面,移动端页面),测试用例会存在大量元素和操作细节。当 UI 变化时,测试用例也要跟着变化, PageObject 很好的解决了这个问题。 使用 UI 自动化测试工具时(包…

LabVIEW石油钻机提升系统数字孪生技术

LabVIEW石油钻机提升系统数字孪生技术 随着数字化、信息化、智能化的发展,石油钻采过程中的石油钻机数字化技术提升成为了提高钻井效率、降低生产成本的重要途径。基于中石油云平台提供的数据,采用数字孪生技术,对石油钻机提升系统进行数字化…

配置之道:深入研究Netty中的Option选项

欢迎来到我的博客,代码的世界里,每一行都是一个故事 配置之道:深入研究Netty中的Option选项 前言Option的基础概念ChannelOption与Bootstrap Option常见的ChannelOption类型ChannelConfig的使用Option的生命周期不同传输协议的Option 前言 在…

云时代【7】—— 存储卷

云时代【7】—— 存储卷 四、Docker(四)存储卷1. 存储卷(1)定义(2)分类 2. 相关指令(1)管理卷 VolumeA. 创建方式方式一:docker volume方式二:docker run -v …

美国教授查理曼说中国为何强大?中国人都不知道的民族特性

Title: 中国强大的秘密:查理曼教授的视角 在世界历史的长河中,中华民族以其辉煌灿烂的文化和举世瞩目的成就,书写了一篇篇传奇篇章。然而,对于中国人为什么能够取得如此卓越的成就,许多人却并不清楚。近日&#xff0c…

Linux搭建SFTP服务器

案例:搭建SFTP服务器 SFTP(SSH文件传输协议) SFTP(SSH文件传输协议)是一种安全的文件传输协议,用于在计算机之间传输文件。它基于SSH(安全外壳协议)的子系统,提供了加密的…

sqlserver保存微信Emoji表情

首先将数据库字段,设置类型为 nvarchar(200)一个emoji表情,占4字节就可以了,web前端展示不用改任何东西,直接提交数据保存;回显也会没有问题,C#代码不用做任何处理; 不哭不闹要睡觉&#x1f31…

若依框架使用mars3d的环境配置,地球构建

因项目需要,原本使用过的cesium依赖,现在想使用火星科技mars3d的一些功能,所以需要引入mars3d依赖,整个过程非常的坎坷,以至于我都不知道到底是哪些部分是标准的。。。先把我认为对的记录一下: 1.vue.conf…

【Java】SpringAOP —— AOP是什么? 代码实现了SpringAOP

文章目录 一、AOP是什么二、AOP的组成三、SpringAOP四、实现SpringAOP1.添加AOP框架支持2.定义切面切点3.定义相关通知 总结 一、AOP是什么 AOP(Aspect Oriented Programming):面向切面编程,它是⼀种思想,它是对某一类…

JVM 第四部分—垃圾回收相关概念 2

System.gc() 在默认情况下,通过System.gc()或者Runtime.getRuntime().gc()的调用,会显式触发Full GC,同时对老年代和新生代进行回收,尝试释放被丢弃对象占用的内存 然而System.gc()调用附带一个免责声明,无法保证对垃…