(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://www.mzph.cn/news/703481.shtml

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

相关文章

大语言模型系列-微调技术

前言 以BERT模型为代表的“预训练语言模型 下游任务微调”训练模式成为了自然语言处理研究和应用的新范式。此处的下游任务微调是基于模型全量参数进行微调(全量微调)。 以 GPT3 为代表的预训练语言模型(PLM)参数规模变得越来越…

实习日志30

概要 高拍仪硬件通信原理,WebSocket源码解析(JavaScript) WebSocket 是 HTML5 开始提供的一种在单个 TCP 连接上进行全双工通讯的协议。 WebSocket 使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据…

【数据库的介绍、分类、作用和特点】的讲解

数据库的介绍、分类、作用和特点 1. 数据库2. 介绍3. 分类3.1 按数据模型分类3.2 按用户数量分类3.3 按数据分布分类 4. 作用5. 特点5.1 特定类型的数据库特点 1. 数据库 数据库是用于存储、管理、处理和检索数据的系统,以下是基于不同维度的数据库的介绍、分类、作…

java RMI(远程方法调用)

java RMI(Remote Method Invocation)远程方法调用。为什么称为远程方法调用呢?因为是两个JVM间进行通讯。两个JVM一个作为服务提供端,另一个作为服务调用端。 首先需要定义一个远程调用的接口,这个接口要继承Remote接口。并且远程接口方法要…

DWT硬件延时

DWT硬件延时 文章目录 DWT硬件延时软件&硬件延时方案软件延时硬件延时方案 DWT硬件延时方案DWT硬件延时方案DEMCR寄存器DWT硬件延时方案实现延时初始化:US延时:MS延时: 软件&硬件延时方案 软件延时 static void Delay(uint32_t cou…

Leetcode刷题笔记题解(C++):6. Z 字形变换

思路:遍历时候需要更新步进长度 到达0行的时候步进长度为1;到达最后一行numRows-1行的时候步进长度为-1;代码如下所示: class Solution { public:string convert(string s, int numRows) {//如果字符串长度为1或者所给行数为1 …

vscode更新至1.86版本后,ssh远程连接服务器出现异常

问题 you are connected to an OS version that is unsupported by Visual Studio Code 你已连接到不受Visual Studio Code支持的OS 版本 原因是vscode更新到1.86版本后要求远程连接服务器的内核版本和库版本需要符合下面条件。 解决方法 因此有两种方法解决 1.更新服务器…

[数据集][目标检测]课堂行为数据集VOC+YOLO格式671张6类别

数据集格式:Pascal VOC格式YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):671 标注数量(xml文件个数):671 标注数量(txt文件个数):671 标注类别…

开源MBG----renrenGenerator

目录 1.克隆项目到本地 2.编辑数据库连接 3.定义生成的代码模版 4.验证生成结果 5.多说一句 项目简介:人人开源项目的代码生成器,可在线生成entity、xml、dao、service、vue、sql代码,减少70%以上的开发任务。 项目地址:ren…

Floor报错原理详解+sql唯一约束性

目录 floor报错原理 唯一性约束 主键约束: 创建约束的形式 删除约束 删除唯一性约束(UNIQUE Constraint) 在SQL Server中: 在MySQL中: 在PostgreSQL中: 删除主键约束: floor报错原理 …

免费SSL证书申请流程及地址

1,选择证书提供商:有许多机构提供免费的SSL证书,如JoySSL。选择一个可靠的提供商是第一步。 免费SSL证书申请地址https://www.joyssl.com/certificate/select/free.html?nid5 2,验证域名:根据提供商的要求&#xff…

力扣4题:寻找两个正序数组的中位数

【题目描述】 (困难)给定两个大小分别为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。请你找出并返回这两个正序数组的 中位数 。 题目链接:力扣(LeetCode)官网 - 全球极客挚爱的技术成长平…

sql实战_基于某推荐比值问题

将一个月内某PL对应的MBLX出现的最高的频次的占比值最大的值统计出来,并且还要把XHLX,MBLX字段添加上作为最终的推荐字段 Select * from(select *,row_number( ) over (partition by PL order by 占比最大值 desc ) rn from 表) where rn 1&#xff1b…

TensorRT及CUDA自学笔记003 NVCC及其命令行参数

TensorRT及CUDA自学笔记003 NVCC及其命令行参数 各位大佬,这是我的自学笔记,如有错误请指正,也欢迎在评论区学习交流,谢谢! NVCC是一种编译器,基于一些命令行参数可以将使用PTX或C语言编写的代码编译成可…

H5多用途的产品介绍展示单页HTML5静态网页模板

H5多用途的产品介绍展示单页HTML5静态网页模板 源码介绍:一款H5自适应多用途的产品介绍展示单页HTML静态网页模板,可用于团队官网、产品官网。 下载地址: https://www.changyouzuhao.cn/13534.html

24-树-完全二叉树的节点个数

这是树的第24篇算法,力扣链接。 给你一棵 完全二叉树 的根节点 root ,求出该树的节点个数。 完全二叉树 的定义如下:在完全二叉树中,除了最底层节点可能没填满外,其余每层节点数都达到最大值,并且最下面一层…

Selenium自动化测试:提升效果的关键技巧

在软件开发过程中,自动化测试是提高效率和质量的重要手段。而Selenium作为一个广泛使用的自动化测试工具,为开发者提供了强大的功能和灵活性。本文将介绍Selenium的概念,并分享一些提升自动化测试效果的关键技巧。 什么是Selenium&#xff1…

HarmonyOS应用开发者基础认证 模拟考试 题库

模拟考试 1.在Colum和Row容器组件中,justifycontent用于设置子组件在主轴方向上的对齐格式,alignItems用于设置子组件在交叉抽方向上的对齐格式。 正确(True) 2.Video组件可以支持本地视频路径和网络路径播放。播放网络视频时,需要申请权限oh…

Intel SGX 概述

文章目录 前言一、SGX介绍1.1 指令介绍1.2 数据结构 二、内存保护过程2.1 enclave页面缓存(EPC)2.2 Enclave页面缓存映射(EPCM) 参考资料 前言 SGX是Intel开发的新的处理器技术,可以在计算平台上提供一个可信的空间&a…

AI智能分析网关V4智慧工厂视频智能监管与风险预警平台建设方案

一、背景需求分析 1)随着信息技术的迅猛发展和制造业竞争的加剧,智慧工厂成为了推动制造业转型升级的重要引擎。智慧工厂解决方案通过整合物联网、人工智能、大数据分析等先进技术,实现生产过程的智能化、自动化和高效化,为企业提…