最近研究多智能体,需要跑框架,metagpt比较出名,就本地跑了下,发现有很多问题(在此建议各位要跑的话还是在云上跑,云上跑一次ok,本地问题太多了),在此主要提出分析两个问题——“连接不上主机”及“FileNotFoundError: [WinError 2] 系统找不到指定的文件“

1、问题1:连接主机超时(TimeoutError: [WinError 10060] 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。)

1.1 用户输入

在这里插入图片描述

1.1 终端输出( 爆红代码):

在这里插入图片描述

1.2 问题分析

因为要调用搜索引擎,而无论是duckduckgo还是google(自行配置),都要科学上网,而问题在于,你开了梯子,报同样的错。
实际上项目并没有通过你的代理来访问外网,所以我们要做的是让metagpt的所有网络请求都走代理,举个例子:

想象你的网络环境是一个大仓库: 科学上网工具 = 在仓库墙上开了一个秘密通道(代理隧道),Python 程序 =仓库里的工人
默认情况:工人(程序)不知道秘密通道的存在,仍走正门(直连国内网络)。
下面os.environ 的作用 =给工人一张纸条,写明「所有货物必须通过秘密通道运输」。

1.3 解决方案:

找到路径D:\Code_Library\MetaGPT\metagpt\configs下的search config.py文件(根据自己的项目地址调整)
在最后添加

import os
os.environ["HTTP_PROXY"]  = "http://127.0.0.1:12334"  # 替换为你的代理端口
os.environ["HTTPS_PROXY"]  = "http://127.0.0.1:12334"

上面的12334是端口,左下角搜代理,打开,这就是你自己的端口号
在这里插入图片描述
添加后,即可正常输出回答(但本人情况是,只能输出纯文本内容,设计到代码,比如让写个贪吃蛇,会报错,这个就是下一个问题了)
在这里插入图片描述

2、问题2:FileNotFoundError: [WinError 2] 系统找不到指定的文件。(目前尚未解决)

分析:
初步判断,pwd命令只能在linux下运行,windows下应该指定"cd"。
修改后:
继续报错,改了很多地方未果。

如果大家有解决方案,可以讨论一下

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐