(202402)多智能体MetaGPT入门1:MetaGPT环境配置

文章目录

  • 前言
  • 拉取MetaGPT仓库
    • 1 仅仅安装最新版
    • 2 拉取源码本地安装
    • MetaGPT安装成果全流程展示
  • 尝试简单使用
    • 1 本地部署大模型尝试(失败-->成功)
    • 2 讯飞星火API调用

前言

感谢datawhale组织开源的多智能体学习内容,飞书文档地址在https://deepwisdom.feishu.cn/wiki/KhCcweQKmijXi6kDwnicM0qpnEf

拉取MetaGPT仓库

1 仅仅安装最新版

pip install git+https://github.com/geekan/MetaGPT.git

这种方式实际上等同于仓库克隆到缓存文件夹中,然后进行本地安装。

2 拉取源码本地安装

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

为了使得安装速度加快,可以将pip使用-i参数添加镜像源。

MetaGPT安装成果全流程展示

conda新建虚拟环境。推荐使用miniconda。

conda create -n metagpt-learn python==3.10
source activate metagpt-learn

拉取仓库:因为不打算进行切换分支等操作,因此可以指定指定主分支和最小clone深度以加快速度。
并进行源码安装

git clone https://github.com/geekan/MetaGPT.git --depth 1 -b main
cd MetaGPT
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple -e .

从最后的输出结果可以看出安装的是0.7.2版本。
在这里插入图片描述内容真是相当的多呢。

尝试简单使用

1 本地部署大模型尝试(失败–>成功)

目前文档中首推的依然是使用openai的API,也提供了使用国内星火大模型或是智谱的GLM大模型的API的方法。由于是简单demo,所以下面尝试使用本地部署的大模型进行MetaGPT的试用。
观察MetaGPT的config配置文件

cat config/config2.yaml
cat config/config2.example.yaml

通过对上面两个文件的观察,对于MetaGPT使用API的方式有了一定的了解。

下面尝试使用。
依照文档所言, MetaGPT将会按照下述优先级来读取你的配置:config/key.yaml > config/config.yaml > environment variable
所以

cd config
cp config2.yaml key.yaml
vim key.yaml

将文件内容改为以下内容
在这里插入图片描述然后启动我的本地模型,这个模型很小,即使在cpu上运算生成tokens的速度仍然挺快,cpu(E5 2666v3)上约20tokens/s。

经过尝试,并没有读取key.yaml文件,而是读取的config2.yaml文件,修改后运行,出现错误,是api_type对不上导致的。
随便输入一个错误的api_type,可以获知metagpt支持的全部api_type。

For further information visit https://errors.pydantic.dev/2.5/v/missing
llm.api_typeInput should be 'openai', 'anthropic', 'spark', 'zhipuai', 'fireworks', 'open_llm', 'gemini', 'metagpt', 'azure' or 'ollama' 

经查阅,我使用的llama.cpp部署了一个本地大模型,应该使用open_llm这个类型而不是ollama;并且api_key不能去掉,若去掉则报错,很难绷。并且我的模型在部署时没有指定api_key,按照惯例尝试了sk-no-key-requiredsk-no-key,均失败。故重新部署模型,仍然失败。解决后更新。
修改后的配置文件和结果展示如下,后面解决会进行更新:
(注意,下面的不是ease_url而是base_url,笔误。)
请添加图片描述
请添加图片描述在大模型部署服务端返回状态码400,似乎是api_key错误导致的。

瓜,本地部署写在配置文件里的url加了https了,应改为http,本地部署哪来的ssl/rsl,不加s。

然后成功调用了本地部署的API

2 讯飞星火API调用

为了先完成任务,现在使用讯飞星火大模型。

llm:api_type: 'spark'app_id: 'YOUR_APPID'api_key: 'YOUR_API_KEY'api_secret: 'YOUR_API_SECRET'domain: 'generalv3'base_url: 'wss://spark-api.xf-yun.com/v3.1/chat'

效果展示:
进入example文件夹运行llm_hello_world.py
在这里插入图片描述调国内API当然是不能失败的。

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

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

相关文章

【LNMP】云导航项目部署及环境搭建(复杂)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、项目介绍1.1项目环境架构LNMP1.2项目代码说明 二、项目环境搭建2.1 Nginx安装2.2 php安装2.3 nginx配置和php配置2.3.1 修改nginx文件2.3.2 修改vim /etc/p…

基于IDEA+Mysql+Tomcat+Vue开发的框架的汇美食电子商城的设计与实现

基于IDEAMysqlTomcatVue开发的框架的汇美食电子商城的设计与实现 项目介绍💁🏻 随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。本文介绍了基于Vue框架的汇美食电子商城的设计与实现的开发全过程。通过分…

HuggingFists系统功能介绍(1)--系统概述

HuggingFists是一款低代码AI应用工具,力图发展为LangChain的低代码平替工具。HuggingFists发起于数由科技的Sengee数据科学计算框架,因此其界面风格继承了数据科学工具的很多特征。有别于完全基于LangChain衍生出的低代码工具Flowise,其风格更…

一个具有强大PDF处理能力的.Net开源项目

PDF具有跨平台、可读性强、不可修改性、无需特定阅读软件、内容安全等好处,在工作中经常都会用到。 所以,我们在项目开发中,经常需要生成PDF的文件,或者把Html、Xml等文件转化为PDF格式。 今天给大家推荐一个具有PDF处理能力的.…

贪心算法学习

贪心算法(Greedy Algorithm)是一种在每一步选择中都采取在当前状态下最好或最优(即最有利)的选择,从而希望导致结果是全局最好或最优的算法。贪心算法在有最优子结构的问题中尤为有效。然而,要注意的是贪心…

React组件详解

React组件分为两大类 1.函数组件 2.类组件&#xff08;最常用&#xff09; 组件化 import ReactDom from "react-dom";// // 1.通过函数创建一个组件 // 2.函数名字必须大写开头 // 3.函数必须有返回值 function Func1() {return <h2>这是一个基础组件</h…

5.2 Ajax 数据爬取实战

目录 1. 实战内容 2、Ajax 分析 3、爬取内容 4、存入MySQL 数据库 4.1 创建相关表 4.2 数据插入表中 5、总代码与结果 1. 实战内容 爬取Scrape | Movie的所有电影详情页的电影名、类别、时长、上映地及时间、简介、评分&#xff0c;并将这些内容存入MySQL数据库中。 2、…

React组件通讯

组件通讯 组件是一个独立的单元&#xff0c;默认情况下组件只能自己使用自己的数据。在组件化过程中&#xff0c;我们将一个完整的功能拆分成多个组件&#xff0c;便于更好的完成整个应用的功能。 Props 组件本来是封闭的&#xff0c;要接受外部数据应该可以通过Props来实现…

Jenkins自动化部署构建说明(8)

Jenkins构建说明 - 20211012 什么是Jenkins? Jenkins 是一款流行的开源持续集成&#xff08;Continuous Integration&#xff09;工具&#xff0c;广泛用于项目开发&#xff0c;具有自动化构建、测试和部署等功能。它是一个自动化的周期性的集成测试过程&#xff0c;从检出代…

基于容器和集群技术的数据自动化采集设计和实现

目标&#xff1a;部署mysql服务容器并使用docker构建包含python爬虫脚本的容器采集数据到mysql数据库。 环境&#xff1a;Centos7、已配置Kubernetes集群及docker。 环境配置请参考以下文章&#xff1a; CentOS7搭建Kubernetes集群 Kubernetes集群信息如下(虚拟机主机名和IP…

流计算之Flink

文章目录 概要有界无界流集群JobManagerTaskManagersTasks 和算子链Task Slots 和资源 小结 概要 Apache Flink 是一个框架和分布式处理引擎&#xff0c;用于在无边界和有边界数据流上进行有状态的计算。Flink 能在所有常见集群环境中运行&#xff0c;并能以内存速度和任意规模…

图解KMP算法

目录 1.最长公共前后缀1.1前缀1.2后缀1.3最长公共前后缀 2、KMP算法过程2.1例子12.2例子22.3Python代码&#xff1a;2.4next数组的计算过程 1.最长公共前后缀 1.1前缀 前缀说的是一个字符串除了最后一个字符以外&#xff0c;所有的子串都算是前缀。 前缀字符串&#xff1a;A…

Linux字符设备驱动中itcol的使用

文章目录 前言一、ioctl二、代码解析2.1 驱动层2.2 应用层 运行结果总结 前言 在Linux字符设备驱动中&#xff0c;ioctl是必须掌握一个函数&#xff0c;其实在软件层面它就是一个函数&#xff0c;但是我愿意称之为强大的硬件控制器&#xff01;在应用中&#xff0c;让我深刻感…

C#常识篇(二)

委托和事件的区别 委托可以认为是对指定签名的函数的引用&#xff0c;通过委托可以实现将函数作为参数传递或者间接调用函数&#xff0c;委托是类型安全的&#xff0c;仅指向与其声明时指定签名相匹配的函数。委托可以分为单播委托和多播委托&#xff0c;二者的区别在于是对单个…

STM32单片机基本原理与应用(九)

SDIO/SD卡实验 实验内容 将SD卡插入实训平台并烧写程序&#xff0c;开机后TFTLCD屏幕上会显示是否成功初始化SD卡并显示SD卡容量。 电路原理图 实验原理 SD卡的通信方式有两种&#xff1a;SPI和SDIO。SD卡有五种寄存器&#xff0c;如下表 SD 卡的指令由 6 个字节组成&…

YOLOv5算法进阶改进(18)— 引入动态蛇形卷积DSConv(ICCV2023 | 用于管状结构分割)

前言:Hello大家好,我是小哥谈。动态蛇形卷积(Dynamic Snake Convolution,简称DSConv)是一种用于图像处理和计算机视觉任务的卷积神经网络(CNN)操作。它是在传统的卷积操作基础上引入了动态蛇形路径的概念,以更好地捕捉图像中的细节和边缘信息。传统的卷积操作是在固定的…

第三节:kafka sarama 遇到Bug?

文章目录 前言一、先上结果二、刨根问底总结 前言 前面两节&#xff0c;我们已经简单应用了sarama的两个类型Client和ClusterAdmin&#xff0c;其中有一个案例是获取集群的ControllerId&#xff0c;但是在后面的测试过程过程中&#xff0c;发现一个问题&#xff0c;返回的Cont…

SpringMVC 学习(四)之获取请求参数

目录 1 通过 HttpServletRequest 获取请求参数 2 通过控制器方法的形参获取请求参数 3 通过 POJO 获取请求参数&#xff08;重点&#xff09; 1 通过 HttpServletRequest 获取请求参数 public String handler1(HttpServletRequest request) <form action"${pageCont…

js:通过input标签或Drag拖拽文件实现浏览器文件上传获取File文件对象

文档 https://developer.mozilla.org/zh-CN/docs/Web/API/Filehttps://developer.mozilla.org/zh-CN/docs/Web/API/HTMLElement/drag_event 通过读取文件可以获取File对象的信息 lastModified: 1707210706000 lastModifiedDate: Tue Feb 06 2024 17:11:46 GMT0800 (中国标准…

力扣--动态规划1027.最长等差数列

思路分析&#xff1a; 使用动态规划的思想&#xff0c;定义二维数组dp&#xff0c;其中dp[i][j]表示以nums[i]为结尾&#xff0c;公差为(j-1000)的等差数列长度。为了适应负数的情况&#xff0c;将公差的范围设为[-1000, 1000]&#xff0c;并且加上1000作为数组索引。 初始化r…