最近, AIGC 中最火的可能就当属于 AutoGPT 了吧,首先简单介绍一下AutoGPT 背景
AutoGPT 是基于 ChatGPT API 接口开发,项目首推 GPT-4 模型,但 OpenAI 账号 API 只有 gpt-3.5-turo 权限同样也可以使用。
项目在 github 上获取的 star 数从4 月初的 2k 到现在 60k,仅用了半个月
AutoGPT 之所以引起这么大的轰动,可能是由于以下几个特点:
1,借助 ElevenLabs 等第三方服务使 ChatGPT 能够具备语音对话能力;
2,赋予 GPT-4 联网搜索和信息获取能力;
3,借助Redis 或第三方存储服务,使得对话具备长期和短期内存管理;
4,集成 GPT-3.5 文件存储和处理能力;
5,项目赋予 GPT-4 自己给自己提 prompt 能力;
开始时,用户指定任务(task)和目标(goal) ,AutoGPT 借助 GPT-4 的推理能力自动将 goal 拆分为n 个小的目标任务,其中每个小的目标 作为模型下一步指定动作的 prompt,
这个特性可以理解为,为了达到某个大目标, AutoGPT 将大目标 拆分为 n个小 目标的 prompt,随后通过依次执行小 目标来不断地逼近 大目标进度。
并且,在执行过程中,AutoGPT 根据不同小目标的执行结果,可以不断调整知道结果对齐用户功能需求;为了更加清晰,我把整个运行步骤画了一个流程图,如下:
基于以上原理,AutoGPT 使用时,用户需要输入任务描述,例如,分析最近一年上映的电影,然后再列出具体的需求目标(goal),
输入后,AutoGPT 借助 GPT4 接口 根据你输入的 task 和 goal ,拆分为数个小任务,自动依次执行,直到整个所有 goal 完成,整个执行过程不需要用户介入,完全自动化
以上是对 AutoGPT的背景做了简单说明,接下来介绍 AutoGPT 的具体安装流程
项目代码拉取
在一个文件夹下打开终端,克隆项目
git clone https://github.com/Torantulino/Auto-GPT.git
拉取完成后,cd 到项目路径下
cd Auto-GPT
安装依赖
运行以下代码安装所需要的依赖
pip install -r requirements.txt
修改配置项
AutoGPT 提供了许多拓展功能,例如
支持语音代替文件进行交互,语音服务是由 ElevenLabs 提供,5美元/月;
支持 调用 Stable Diffusion 文生图;
借助 Google APi 和自定义搜索引擎服务 防止 google 搜索出现 429;
借助 PINECONE 服务存储缓存,保持短时间内与 AutoGPT 之间的交互记录
以上这些拓展服务需要额外的token 或 key ,不是运行 AutoGPT 的必须配置项,最核心的配置是 OpenAI key
OpenAI key 获取方式,访问 https://platform.openai.com/account/api-keys
如下
拿到key 之后,找到项目中的 .env.template 文件,命名为 .env,打开,找到里面的OPENAI_API_KEY
选项,替换成你的 key,关闭即可
以上步骤完成后,终端输入以下命令,就可以使用 AutoGPT 了
python -m autogpt
如果想在使用过程中,查看具体AutoGPT 是否报错,可以加上 --debug 参数
python -m autogpt --debug
需要注意的是,AutoGPT 运行的整体交互语言以英语为主
启动后,首先autogpt 需要你先对给服务起一个名字,这个可以随意,例如 testAI,输入完毕后,按回车下一步
接着需要输入 任务 ,例如Analyze movies released in the last year;
之后依次输入 goal1,goal2
输入完毕后,autogpt 进行接管,任务、目标分析、拆分为数个小 plan 并执行
google 搜索介入
获取到数据,进行解析并存储
好了,以上就是 AutoGPT 整个安装和使用流程,
AutoGPT 使用 GPT-4 前提是,自己 OpenAI 账号已经加入了 GPT-4 API 的 waitllist,并且拿到了 OpenAI 的授权;这里的GPT-4 指的是 API 接口,不是 ChatGPT Plus 订阅。没有 GPT-4 权限依旧可以使用 AutoGPT,只不过会切换到推理能力弱一点的 gpt-3.5-turbo 模型
使用 AutoGPT 需要注意的一些问题:
1,openAI 接口,SSL 认证失败 443
ssl.SSLEOFError: EOF occurred in violation of protocol (_ssl.c:1131)requests.exceptions.SSLError: HTTPSConnectionPool(host='openaipublic.blob.core.windows.net', port=443): Max retries exceeded with url: /encodings/cl100k_base.tiktoken (Caused by SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:1131)')))
解决方法,对urllib3
降版本,变为 1.25.11
pip install urllib3==1.25.11
2,谷歌用不了,报错【由于连接方在一段时间后没有正确答复或连接的主机没有反应 ,连接尝试失败】;AutoGPT 搜索用的是谷歌引擎,需要用到谷歌搜索服务
另外提醒一下,终端走的 google 搜索 是在 IP 层,不在应用层,所以一般应用层的梯子也是无法使用的,关于具体解决方法,因为篇幅较长,将放在下篇博文
3,对比正常使用,在 AutoGPT 中运行相对会比较费钱。OpenAI 的 key 大家都知道 ,使用是按量收费的;在 AutoGPT 中因为需要让结果对其用户目标,使用时需要不断查询,反馈、修正再查询;
这个过程都会用到 OpenAI 接口,因此调用频率比正常使用高许多,建议对于一些比较复杂的问题,可以尝试用 AutoGPT 来解决,一些简单问题完全就没必要了。
好了,以上就是本篇文章的全部内容了,如果对你有帮助的话、点赞、收藏都是对我的一份鼓励!