当前位置: 首页 > news >正文

AutoGPT 安装指南,使用避坑要点

最近, AIGC 中最火的可能就当属于 AutoGPT 了吧,首先简单介绍一下AutoGPT 背景

AutoGPT 是基于 ChatGPT API 接口开发,项目首推 GPT-4 模型,但 OpenAI 账号 API 只有 gpt-3.5-turo 权限同样也可以使用。

项目在 github 上获取的 star 数从4 月初的 2k 到现在 60k,仅用了半个月

image-20230416020306075

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 根据不同小目标的执行结果,可以不断调整知道结果对齐用户功能需求;为了更加清晰,我把整个运行步骤画了一个流程图,如下:

Snipaste_2023-04-16_00-15-24

基于以上原理,AutoGPT 使用时,用户需要输入任务描述,例如,分析最近一年上映的电影,然后再列出具体的需求目标(goal),

  • 例如 goal1:分析其中电影类型分布;goal 2 :列举top10票房电影、票房数以及各自国家等,并绘制一个柱状图等;

输入后,AutoGPT 借助 GPT4 接口 根据你输入的 task 和 goal ,拆分为数个小任务,自动依次执行,直到整个所有 goal 完成,整个执行过程不需要用户介入,完全自动化

以上是对 AutoGPT的背景做了简单说明,接下来介绍 AutoGPT 的具体安装流程

AutoGPT 安装

  • AutoGPT 安装之前,请确保已经具备以下几项条件:
    • 1,已安装 Python 环境,且版本在3.8及以上;
    • 2,已安装好 git 工具;
    • 3,含有可用的 OpenAI 账号;

项目代码拉取

在一个文件夹下打开终端,克隆项目

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

如下

image-20230416010215913

拿到key 之后,找到项目中的 .env.template 文件,命名为 .env,打开,找到里面的OPENAI_API_KEY 选项,替换成你的 key,关闭即可

image-20230416010447590

运行 AutoGPT

以上步骤完成后,终端输入以下命令,就可以使用 AutoGPT 了

python -m autogpt

如果想在使用过程中,查看具体AutoGPT 是否报错,可以加上 --debug 参数

python -m autogpt --debug

需要注意的是,AutoGPT 运行的整体交互语言以英语为主

启动后,首先autogpt 需要你先对给服务起一个名字,这个可以随意,例如 testAI,输入完毕后,按回车下一步

接着需要输入 任务 ,例如Analyze movies released in the last year;

之后依次输入 goal1,goal2

image-20230416123722852

输入完毕后,autogpt 进行接管,任务、目标分析、拆分为数个小 plan 并执行

google 搜索介入

image-20230416123806106

获取到数据,进行解析并存储

image-20230416123912454

小结

好了,以上就是 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 来解决,一些简单问题完全就没必要了。

好了,以上就是本篇文章的全部内容了,如果对你有帮助的话、点赞、收藏都是对我的一份鼓励!

相关文章:

AutoGPT 安装指南,使用避坑要点

最近, AIGC 中最火的可能就当属于 AutoGPT 了吧,首先简单介绍一下AutoGPT 背景 AutoGPT 是基于 ChatGPT API 接口开发,项目首推 GPT-4 模型,但 OpenAI 账号 API 只有 gpt-3.5-turo 权限同样也可以使用。 项目在 github 上获取的…...

低调且强大——JNPF低代码平台

前言 先说说很多人为什么要用低代码平台。大部分的反馈是“懒”,其次就是后台管理这东西吧,来来回回就那些东西,查询/表单/表格/弹窗之类的,加上一些增删改查的逻辑。很多人表示,呆过的公司好几家了,后管的…...

《商用密码应用与安全性评估》第二章政策法规2.4商用密码应用安全性评估工作

商用密码应用安全性评估体系发展历程 第一阶段:制度奠基期(2007年11月至2016年8月) 第二阶段:再次集结期(2016年9月至2017年4月) 第三阶段:体系建设期(2017年5月至2017年9月&…...

MySQL 字段为 NULL 的5大坑,99%人踩过

数据库字段允许空值(null)的问题,你遇到过吗? 在验证问题之前,我们先建一张测试表及测试数据。 数据库字段允许空值(null)的问题,你遇到过吗? 在验证问题之前,我们先建一张测试表及测试数据。 构建的测试…...

深入理解计算机系统--理解编译器编译的过程

前言 大家在学习C语言的时候,相信对编译器这个词并不会感到陌生。我们也会知道编译器编译的过程是:预处理-》编译-》汇编-》链接。这篇文章主要介绍这四个过程中,编译器究竟做了那些工作,它是如何让一份高级程序转换成机器语言的…...

实现PXE批量网络装机及kickstrat无人值守安装(富士山终究留不住欲落的樱花)

一、PXE概述和部署PXE批量装机 1.PXE简介 PXE(预启动执行环境,在操作系统之前运行)是由Intel公司开发的网络引导技术,c/s架构,允许客户机通过网络从远程服务器下载引导镜像,并加载安装文件或者整个操作系统…...

4.23日报

MySQL 索引是怎么实现的? 索引是满足某种特定查找算法的数据结构,而这些数据结构会以某种方式指向数据,从而实现高效查找数据。 具体来说 MySQL 中的索引,不同的数据引擎实现有所不同,但目前主流的数据库引擎的索引都…...

【数据治理】数据治理方面的证书有哪些?

目前数据治理领域最专业的职业认证有: 中文版: ①DAMA国际CDGA数据治理工程师、DAMA国际CDGP数据治理专家 (先获得CDGA认证才能申请CDGP认证考试) ②DGSP数据治理与管理认证 英文版: ③CDMP数据管理专业人士 一、…...

Let’s Make C++ Great Again——set与vector

文章目录 set常用的set方法:set实现去重的例子:自定义比较函数的例子,按照字符串长度从小到大排序:使用set容器求两个集合的交集的例子: vector创建vector对象插入和删除元素获取vector的大小和容量检查vector是否为空…...

Nginx+Tomcat负载均衡、动静分离

一.Nginx负载均衡实现原理 Nginx实现负载均衡是通过反向代理实现 1、 反向代理原理 2、反向代理的概念 反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服…...

SpringCloud入门实战(七)-Hystrix服务熔断

📝 学技术、更要掌握学习的方法,一起学习,让进步发生 👩🏻 作者:一只IT攻城狮 。 💐学习建议:1、养成习惯,学习java的任何一个技术,都可以先去官网先看看&…...

百度平地起“雷”,突然爆出的QPS数据意味着什么?

鲁迅先生1923年在北师大发表了著名的演讲《娜拉走后怎样》,其中的提问与思考方式振聋发聩,直到今天也依旧有效。面对很多产业现象、技术趋势,我们也不妨多问几个“之后怎样”。 比如说,自ChatGPT爆火之后,中国各个互联…...

电子模块|外控集成 LED 光源 WS2812模块---硬件介绍和stm32驱动

电子模块|外控集成 LED 光源 WS2812模块 模块简介模块特点机械尺寸单线归零码通讯方式24bit 数据结构 stm32 驱动 模块简介 WS2812是一个集控制电路与发光电路于一体的智能外控LED光源。其外型与一个5050LED灯珠相同,每个元件即为一个像素点。像素点内部包含了智能…...

Jenkins+Python自动化测试持续集成详细教程(全网独家)

目录 一、前言 二、环境准备 三、创建Jenkins Job 四、编写Python自动化测试脚本 五、测试报告生成与展示 六、持续集成流程优化 七、实战演练 八、常见问题及解决方案 九、结论 一、前言 Jenkins是目前最为流行的CI/CD工具之一,它可以支持多种语言和技术…...

运维监控工具PIGOSS BSM扩展指标介绍

PIGOSS BSM运维监控工具,除系统自带指标外,还支持添加SNMP扩展指标、脚本扩展指标、JMX扩展指标、自定义JDBC指标等,今天本文将介绍如何添加SNMP扩展指标和脚本扩展指标。 添加SNMP扩展指标 前提:需要知道指标的oid 例子&#xff…...

一些前端问题2

1.业务场景中需要嵌入公司其他行业线的页面,这种不使用 iframe 该怎么办? 答:理论上应该让他们给你做个组件出来,但是如果实在没别的办法,就使用 iframe 吧。 2.jquery ajax 同步请求的原理是? 目前用 axios 库&…...

Moviepy模块之视频添加图片水印

文章目录 前言视频添加图片水印1.引入库2.加载视频文件3.加载水印图片4.缩放水印图片大小5.设置水印的位置5.1 相对于视频的左上角5.2 相对于视频的左下角5.3 相对于视频的右上角5.4 相对于视频的右下角5.5 相对于视频的左中位置5.6 相对于视频的正中位置5.7 相对于视频的右中位…...

day35—编程题

文章目录 1.第一题1.1题目1.2思路1.3解题 2.第二题2.1题目2.2思路2.3解题 1.第一题 1.1题目 描述: 今年公司年会的奖品特别给力,但获奖的规矩却很奇葩: 首先,所有人员都将一张写有自己名字的字条放入抽奖箱中;待所有…...

Linux安装Nginx

前言 提示:这里可以添加本文要记录的大概内容: Linux安装Nginx的详细步骤。 一、安装Nginx的相关依赖 1、安装gcc,PCRE pcre-devel,zlib,OpenSSL, 提示:安装 nginx 需要先将官网下载的源码进行编译,编译依赖 gcc 环境。 PCRE(…...

Qt 项目Mingw编译器转换为VS编译器时的错误及解决办法

错误 在mingw生成的项目,转换为VS编译器时通常会报些以下错误(C4819警告,C2001错误,C2143错误) 原因及解决方式 这一般是由于字符编码引起的,在源代码文件中包含了中文字符导致的。Qt Creator 生成的代码文…...

Linux链表操作全解析

Linux C语言链表深度解析与实战技巧 一、链表基础概念与内核链表优势1.1 为什么使用链表?1.2 Linux 内核链表与用户态链表的区别 二、内核链表结构与宏解析常用宏/函数 三、内核链表的优点四、用户态链表示例五、双向循环链表在内核中的实现优势5.1 插入效率5.2 安全…...

(十)学生端搭建

本次旨在将之前的已完成的部分功能进行拼装到学生端,同时完善学生端的构建。本次工作主要包括: 1.学生端整体界面布局 2.模拟考场与部分个人画像流程的串联 3.整体学生端逻辑 一、学生端 在主界面可以选择自己的用户角色 选择学生则进入学生登录界面…...

Linux相关概念和易错知识点(42)(TCP的连接管理、可靠性、面临复杂网络的处理)

目录 1.TCP的连接管理机制(1)三次握手①握手过程②对握手过程的理解 (2)四次挥手(3)握手和挥手的触发(4)状态切换①挥手过程中状态的切换②握手过程中状态的切换 2.TCP的可靠性&…...

剑指offer20_链表中环的入口节点

链表中环的入口节点 给定一个链表,若其中包含环,则输出环的入口节点。 若其中不包含环,则输出null。 数据范围 节点 val 值取值范围 [ 1 , 1000 ] [1,1000] [1,1000]。 节点 val 值各不相同。 链表长度 [ 0 , 500 ] [0,500] [0,500]。 …...

k8s业务程序联调工具-KtConnect

概述 原理 工具作用是建立了一个从本地到集群的单向VPN,根据VPN原理,打通两个内网必然需要借助一个公共中继节点,ktconnect工具巧妙的利用k8s原生的portforward能力,简化了建立连接的过程,apiserver间接起到了中继节…...

如何在网页里填写 PDF 表格?

有时候,你可能希望用户能在你的网站上填写 PDF 表单。然而,这件事并不简单,因为 PDF 并不是一种原生的网页格式。虽然浏览器可以显示 PDF 文件,但原生并不支持编辑或填写它们。更糟的是,如果你想收集表单数据&#xff…...

处理vxe-table 表尾数据是单独一个接口,表格tableData数据更新后,需要点击两下,表尾才是正确的

修改bug思路: 分别把 tabledata 和 表尾相关数据 console.log() 发现 更新数据先后顺序不对 settimeout延迟查询表格接口 ——测试可行 升级↑:async await 等接口返回后再开始下一个接口查询 ________________________________________________________…...

AI+无人机如何守护濒危物种?YOLOv8实现95%精准识别

【导读】 野生动物监测在理解和保护生态系统中发挥着至关重要的作用。然而,传统的野生动物观察方法往往耗时耗力、成本高昂且范围有限。无人机的出现为野生动物监测提供了有前景的替代方案,能够实现大范围覆盖并远程采集数据。尽管具备这些优势&#xf…...

vulnyx Blogger writeup

信息收集 arp-scan nmap 获取userFlag 上web看看 一个默认的页面,gobuster扫一下目录 可以看到扫出的目录中得到了一个有价值的目录/wordpress,说明目标所使用的cms是wordpress,访问http://192.168.43.213/wordpress/然后查看源码能看到 这…...

Vite中定义@软链接

在webpack中可以直接通过符号表示src路径,但是vite中默认不可以。 如何实现: vite中提供了resolve.alias:通过别名在指向一个具体的路径 在vite.config.js中 import { join } from pathexport default defineConfig({plugins: [vue()],//…...