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

文章目录

前言

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

拉取MetaGPT仓库

1 仅仅安装最新版

bash 复制代码
pip install git+https://github.com/geekan/MetaGPT.git

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

2 拉取源码本地安装

bash 复制代码
git clone https://github.com/geekan/MetaGPT.git
cd /your/path/to/MetaGPT
pip install -e .

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

MetaGPT安装成果全流程展示

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

bash 复制代码
conda create -n metagpt-learn python==3.10
source activate metagpt-learn

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

并进行源码安装

bash 复制代码
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配置文件

bash 复制代码
cat config/config2.yaml
cat config/config2.example.yaml

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

下面尝试使用。

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

所以

bash 复制代码
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。

bash 复制代码
For further information visit https://errors.pydantic.dev/2.5/v/missing
llm.api_type
  Input 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调用

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

bash 复制代码
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当然是不能失败的。

相关推荐
金融小师妹8 小时前
4月30日多因子共振节点:鲍威尔“收官效应”与权力结构重塑的预期重构
大数据·人工智能·重构·逻辑回归
2601_949925188 小时前
AI Agent如何重构跨境物流的决策?
大数据·人工智能·重构·ai agent·geo优化·物流科技
AI木马人8 小时前
1.人工智能实战:大模型推理接口响应慢?从模型加载到 FastAPI 部署的完整优化方案
人工智能·python·fastapi
Black蜡笔小新8 小时前
私有化本地化AI模型训推工作站DLTM训推一体工作站赋能多行业智能化落地
人工智能
qq_411262428 小时前
四博 AI 智能音箱 + ESPC3 Tasmota 计量通断器方案
人工智能·智能音箱
dllmayday8 小时前
Milvus在LangChain中使用方法
人工智能·ai·langchain·milvus
xiaoduo AI9 小时前
客服机器人问题解决率怎么统计?Agent系统自动判断是否解决,比人工回访准?
大数据·人工智能·机器人
AI周红伟9 小时前
周红伟:GPT-Image-2深度解析:从技术原理到实战教程,为什么它能让整个AI圈炸锅?
人工智能·gpt·深度学习·机器学习·语言模型·openclaw
hecgaoyuan9 小时前
浅谈个人在人工智能方面的应用情况
人工智能
*Lisen9 小时前
从零手写 FlashAttention(PyTorch实现 + 原理推导)
人工智能·pytorch·python