超越ChatGpt,最近爆火的AutoGPT 究竟是什么

news2024/11/24 7:49:56

一、AutoGPT是什么

最近几天,一款基于GPT-4的最强语言模型AutoGPT火遍了整个AI圈。众所周知,此前爆火AI圈的ChatGPT,唯一不太好用的地方就是需要人类不断的prompt。因此,如果你想要ChatGPT帮你去做一件复杂的事情,那么怎么提问时一件很麻烦的事情。但AutoGPT就不一样,他会根据你提的目标来制定计划,然后自己执行完整个计划,整个过程自动化的能力非常的强。

这里简单的介绍下AI的prompt,prompt是指在使用AI模型时,设计和构建用于输入的文本提示,使得模型能够更好地理解和回答问题。简单来说,就是为AI模型设置一个更容易理解和明确的问题描述,以便让它更好地进行回答。

事实上,作为目前最实用的AI技术,AutoGPT在短短几天时间就在GitHub上获得了惊人star数目前已经突破81k,并吸引了无数开源社区和开发者的关注。
 
image.png

AutoGPT到底有多火呢,看这张网友做的对比图就知道了:仅仅几天的时间,它就追平了某个红极一时项目差不多积攒了10年的star。

image.png

虽然,GitHub Star 数不足以说明一切,但是从此图中便能看出近期大众对它的关注程度。截止今日,Star 数更是已突破 8 万,并且正朝着 10 万 Star 里程碑稳步迈进。

之所以能这么火,是因为Auto-GPT 突破了 AI 的可能性界限。事实上,它能根据开发者给它下达的任务,自行编写爬虫,检索互联网上的公开信息,用于实现任务,优化代码、自动改 Bug 等。这也就意味着,这是一个真正懂得通过自主学习,利用编程来强化自己能力的智能代码工具,也是自GPT-4 出现以来,技术圈中又一款重磅级AI产品。

二、AutoGPT缺点

事实上,AutoGPT的使用是非常简单的,大家可以看着github上的教程很轻易的就搭起来。然后提供从open ai申请的api key即可,因为它也是基于GPT3.5或者GPT4的模型来帮我们完成任务的。因为会非常多次的调用API,所以在它执行任务的时候,我闻到了一股RMB在燃烧的味道。

虽然,AutoGpt相比传统的AI技术进步了一大截,但正如Jina AI 的创始人兼 CEO 肖涵表示:“在我们庆祝 Auto-GPT 的快速崛起时,退后一步并仔细检查其潜在的缺点至关重要。”并且,为了说明Auto-GPT 的不足之处,肖涵先大致分析了一波原理,即 Auto-GPT 主要由四部分组成:

  • 架构:Auto-GPT 是基于强大的 GPT-4和 GPT-3.5语言模型构建的,它们作为机器人的大脑,帮助它思考和推理。
  • 自主迭代:类似于机器人,具有从错误中学习的能力。Auto-GPT 可以回顾其工作,在之前的工作基础上再接再厉,并利用其历史记录生成更准确的结果。
  • 内存管理:与矢量数据库(一种内存存储解决方案)集成,使 Auto-GPT 能够保留上下文并做出更好的决策,类似于为机器人配备长期记忆以记住过去的经历。
  • 多功能性:Auto-GPT 的功能(例如文件操作、Web 浏览和数据检索)使其用途广泛,并使其与有别于以往的 AI 迭代,就像赋予机器人多种技能来处理更广泛的任务。

下面我们来看下AutoGpt的一些缺点:

1,成本高昂

虽然 Auto-GPT 具有卓越的功能,但由于任务是通过思维链完成的,为提供更好的推理和提示,每一步都需要调用昂贵的 GPT-4模型,这通常会最大化 token,也就带来了过高的成本。

对此,肖涵估算了一个小任务的花费:Auto-GPT 平均需要50个步骤来完成一个小任务,即成本为50*0.288=14.4美元(约人民币98.5元)。

而且这还是一次就能出结果的情况,如果需要重新生成,成本会更高。 从这个角度来看,AutoGPT目前对大部分用户和组织来说,都是不现实的。

2,容易陷入死循环

更要命的是,这14.4美元还可能“打水漂”。许多用户报告说:Auto-GPT 经常陷入循环,导致其无法解决实际问题。

“我昨天多次使用它,我发现…它从未完成过一项任务。它总是去深入挖掘、做更多的研究,但从来没有真正完成一个目标。我就放着让它持续循环了几个小时。”

image.png

3,代理机制不完善

Auto-GPT 引入了一个很有趣的概念,即允许生成代理来委派任务。然而,肖涵认为这还不够完善:“这一机制仍处于早期阶段,其潜力在很大程度上仍未得到开发。”

对于以上总结的几点 Auto-GPT 缺陷,实际上早有不少用户在抱怨,还搞出了一些“闹剧”:

image.png

image.png

不过即便如此,Auto-GPT 还是令许多人对未来 AI 的发展趋势充满期待:

三、AutoGPT本地部署

接下来,我们看一下如何在本地部署AutoGpt,参考如下资料:
Auto-GPT 官网网站:https://github.com/torantulino/auto-gpt
Auto-GPT 中文技术支持博客:https://www.cnblogs.com/botai/

3.1 环境要求

  • vscode + devcontainer
  • Python 3.8 or later
  • OpenAI API key
  • PINECONE API key
  • ElevenLabs Key(可选)

3.2 安装

1,确保您的本地环境已经拥有上述所有要求,如果没有,请安装/获取它们。

2,将AutoGPT克隆到本地,也可以直接下载源码的zip文件。

git clone git@github.com:Significant-Gravitas/Auto-GPT.git

3,导航至项目目录,安装所需依赖项,命令如下。

pip install -r requirements.txt

4,重命名.env.template为.env,并填写你从openai官网获取的的OPENAI_API_KEY。如果你计划使用语音模式,请同时填写你的ELEVEN_LABS_API_KEY。以下是一些说明:

  • 以下网址获取你的OpenAI API密钥:https://platform.openai.com/account/api-keys。
  • 以下网址获取你的ElevenLabs API密钥:https://elevenlabs.io。 你可以在网站上的“Profile”选项卡中查看你的xi-api-key。

image.png

如果你想在Azure实例上使用GPT,请将USE_AZURE设置为True,然后将azure.yaml.template重命名为azure.yaml,并在azure_model_map部分中提供相关模型的azure_api_base、azure_api_version和所有部署ID:

  • fast_llm_model_deployment_id:你的gpt-3.5-turbo或gpt-4部署ID
  • smart_llm_model_deployment_id: 你的gpt-4部署ID
  • embedding_model_deployment_id: 你的text-embedding-ada-002 v2部署ID

更多详细的信息,请点击下面的链接查看详情:https://pypi.org/project/openai/, 位于“Microsoft Azure Endpoints”部分和此处:https://learn.microsoft.com/en-us/azure/cognitive-services/openai/tutorials/embeddings?tabs=command-line, 用于嵌入模型。

3.3 基本使用

打开AutoGpt项目的源码,然后在你的终端中运行main.py的Python脚本,命令如下。

python -m autogpt

在每个AUTO-GPT操作完成后,输入"NEXT COMMAND"来授权它们继续执行。如果需要退出程序,请键入"exit"并按回车键。.

image.png

3.4.1 开启日志

当然,你也可以通过在文件夹./output/logs中找到活动和错误日志。 要开启要输出调试日志,可以使用下面的命令:

python scripts/main.py --debug

3.4.2 Docker

当然,我们也可以将它构建到docker映像中然后运行它。

docker build -t autogpt .
docker run -it --env-file=./.env -v $PWD/auto_gpt_workspace:/app/auto_gpt_workspace autogpt

如果你有docker-compose环境,也可以使用下面的方式:

docker-compose run --build --rm auto-gpt

当然,我们也可以在运行的时候指定运行的ChatGpt的版本例如,在gpt3only和continuous模式下运行:

docker run -it --env-file=./.env -v $PWD/auto_gpt_workspace:/app/auto_gpt_workspace autogpt --gpt3only --continuous


docker-compose run --build --rm auto-gpt --gpt3only --continuous

3.4.3 其他参数

下面是运行AutoGPT时,可以使用的一些常见参数和帮助说明:

查看所有有用的命令行参数:

python -m autogpt --help

使用不同的AI设置文件运行AutoGPT:

python -m autogpt --ai-settings <filename>

指定可用内存大下:

python -m autogpt --use-memory  <memory-backend>

3.4 语言模式

如果要开启语言模式,可以在启动项目的时候使用下面的命令:

python scripts/main.py --speak

下面是用于实验的一些eleven labs账号:

  • Rachel : 21m00Tcm4TlvDq8ikWAM
  • Domi : AZnzlk1XvdvUeBnXmlld
  • Bella : EXAVITQu4vr4xnSDxMaL
  • Antoni : ErXwobaYiN019PkySvjV
  • Elli : MF3mGyEYCl7XYWbV9V6O
  • Josh : TxGEqnHWrfWFTfGW9XjX
  • Arnold : VR6AewLTigWG4xSOukaG
  • Adam : pNInz6obpgDQGcFmaJgB
  • Sam : yoZ06aMxZJJ28mfd3POQ

3.5 Google API Keys

本部分是可选的,如果在运行Google搜索时出现错误429,则使用官方Google API。要使用 google_official_search 命令,您需要在环境变量中设置Google API密钥。

  1. 前往 Google Cloud Console。
  2. 如果您还没有帐户,请创建一个并登录。
  3. 通过单击页面顶部的“Select a Project”下拉菜单,然后单击“New Project”,创建一个新项目。给它一个名称并单击“Create”。
  4. 前往 APIs & Services Dashboard,单击“Enable APIs and Services”。搜索“Custom Search API”,单击它,然后单击“Enable”。
  5. 前往 Credentials 页面,然后单击“Create Credentials”。选择“API Key”。
  6. 复制API密钥并将其设置为在您的计算机上命名为 GOOGLE_API_KEY 的环境变量。请查看下面的环境变量设置。
  7. 在您的项目上 启用 Custom Search API。(可能需要等待几分钟以进行传播)
  8. 前往 Custom Search Engine 页面,然后单击“Add”。
  9. 按照提示设置您的搜索引擎以设置搜索引擎。您可以选择搜索整个Web或特定站点。
  10. 创建您的搜索引擎后,单击“Control Panel”,然后单击“Basics”。复制“Search engine ID”,并将其设置为在您的计算机上命名为 CUSTOM_SEARCH_ENGINE_ID 的环境变量。请查看下面的环境变量设置。

需要注意的是,您的每日免费自定义搜索配额仅允许最多100次搜索。要增加此限制,您需要将计费帐户分配给项目,以从每日最多10K次搜索中受益。

3.5.1 设置环境变量

对于Windows用户来说,设置环境变量的代码如下:

setx GOOGLE_API_KEY "YOUR_GOOGLE_API_KEY"
setx CUSTOM_SEARCH_ENGINE_ID "YOUR_CUSTOM_SEARCH_ENGINE_ID"

对于MacOs的用户来说,设置环境变量的代码如下:

export GOOGLE_API_KEY="YOUR_GOOGLE_API_KEY"
export CUSTOM_SEARCH_ENGINE_ID="YOUR_CUSTOM_SEARCH_ENGINE_ID"

3.6 Redis设置

首先,需要安装 Docker Desktop,如果还没安装,请参考3.4.2进行安装。然后运行如下命令设置redis。

docker run -d --name redis-stack-server -p 6379:6379 redis/redis-stack-server:latest

参见 https://hub.docker.com/r/redis/redis-stack-server 以设置密码和其他配置。然后,配置Redis。

MEMORY_BACKEND=redis
REDIS_HOST=localhost
REDIS_PORT=6379
REDIS_PASSWORD=

请注意,这不是面向互联网运行的,不安全,请不要在没有密码或没有任何保护的情况下将 Redis 暴露给互联网。

3.7 Pinecone API 密钥设置

  1. 转到pinecone,如果您还没有帐户,请注册一个。
  2. 选择“Starter”计划以避免收费。
  3. 在左侧边栏的默认项目下找到您的API密钥和区域。

接下来,我们需要设置环境变量:
打开.env 文件或者从命令行中设置它们(高级):

对于 Windows 用户:

setx PINECONE_API_KEY "YOUR_PINECONE_API_KEY"
setx PINECONE_ENV "Your pinecone region" # something like: us-east4-gcp

对于 macOS 和 Linux 用户:

export PINECONE_API_KEY="YOUR_PINECONE_API_KEY"
export PINECONE_ENV="Your pinecone region" # something like: us-east4-gcp

3.8 设置缓存类型

默认情况下,AutoGPT 使用的是LocalCache 而不是 redis 或 Pinecone。要切换到其中一个,请将 MEMORY_BACKEND 环境变量更改为所需的值:

  • local (默认):使用本地 JSON 缓存文件
  • pinecone:使用您在 ENV 设置中配置的 Pinecone.io 帐户
  • redis:将使用您配置的 redis 缓存
  • milvus:将使用您配置的Milvus缓存
  • weaviate:将使用您配置的Weaviate缓存

查看内存使用情况,命令如下:使用 --debug 标志查看内存使用情况。

3.9 持续模式💀

以无需用户授权的方式运行 AI,100%自动化。不建议使用持续模式。它可能会造成潜在危险,并可能导致您的 AI 永远运行或执行您通常不会授权的操作。请自行承担风险。

python scripts/main.py --continuous

要退出程序,请按 Ctrl + C。

3.10 GPT3.5 模式

如果您没有访问 GPT4 api 的权限,则此模式将允许您使用 AutoGPT,运行的命令如下:

python scripts/main.py --gpt3only

3.11 图像模式

默认情况下,Auto-GPT 使用 DALL-e 进行图像生成。要使用 Stable Diffusion,需要HuggingFace API Token。获得令牌后,请在 .env 中设置以下变量:

IMAGE_PROVIDER=sd
HUGGINGFACE_API_TOKEN="YOUR_HUGGINGFACE_API_TOKEN"

🛡 免责声明

Auto-GPT 是一个实验性的应用程序,提供“按原样”不附带任何明示或暗示的保证。使用此软件即表示您同意承担与其使用相关的所有风险,包括但不限于数据丢失、系统故障或任何可能出现的问题。

该项目的开发人员和贡献者不承担任何损失、损害或其他后果的责任或义务,这些损失、损害或其他后果可能是使用该软件的结果。您应根据 Auto-GPT 提供的信息对任何决策和行动负责。

请注意,由于 GPT-4 语言模型的令牌使用情况,使用成本可能很高。 通过使用此项目,您确认您有责任监控和管理自己的令牌使用情况和相关费用。强烈建议定期检查您的 OpenAI API 使用情况,并设置任何必要的限制或警报以防止意外收费。

作为一个自主实验,Auto-GPT 可能会生成与实际商业实践或法律要求不符的内容或采取行动。您有责任确保基于此软件的输出所做的任何行动或决策符合所有适用的法律、法规和道德标准。该项目的开发人员和贡献者不承担因使用该软件而产生的任何后果的责任。

通过使用 Auto-GPT,您同意赔偿、捍卫并使开发人员、贡献者和任何关联方免受您使用此软件或违反这些条款所引起的任何和所有索赔、损害、损失、负债、费用和支出(包括合理的律师费)。

参考链接:https://github.com/Significant-Gravitas/Auto-GPT

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/429992.html

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

相关文章

第九章 法律责任与法律制裁

第九章 法律责任与法律制裁_副本 目录 第一节 法律责任的概念 一 法律责任的含义二 法律责任的特点 第二节 法律责任的分类与竞合 一 法律责任的分类 &#xff08;一&#xff09;根据责任行为所违反的法律的性质 民事责任&#xff1a;刑事责任行政责任违宪责任 &#xff08;二…

【云原生 • Docker】cAdvisor+Prometheus+Grafana 10分钟搞定Docker容器监控平台

文章目录cAdvisorPrometheusGrafana 10分钟搞定Docker容器监控平台cAdvisor部署Prometheus部署Grafana部署cAdvisorPrometheusGrafana 10分钟搞定Docker容器监控平台 cAdvisor(Container Advisor) 是 Google 开源的一个容器监控工具&#xff0c;可用于对容器资源的使用情况和性…

企业级信息系统开发讲课笔记3.1 基于配置文件整合SSM框架实现用户登录

文章目录零、本节学习目标一、采用MVC架构二、用户登录运行效果三、基于XML配置方式整合SSM框架实现用户登录&#xff08;一&#xff09;创建数据库与表1、创建数据库2、创建用户表3、在用户表里插入记录&#xff08;二&#xff09;创建Maven项目&#xff08;三&#xff09;项目…

【手把手刷CCF】202303-2-垦田计划100分(超简单思路,含详细解释注释与代码)

文章目录&#xff1a;故事的开头总是极尽温柔&#xff0c;故事会一直温柔……&#x1f49c;一、&#x1f333;代码如下&#xff1a;二、&#x1f335;解题思路❤️❤️❤️忙碌的敲代码也不要忘了浪漫鸭&#xff01;故事的开头总是极尽温柔&#xff0c;故事会一直温柔……&…

vector使用+模拟实现

目录 vector介绍 常见接口 构造函数 迭代器 容量操作 元素访问 增删查改 模拟实现 模拟实现要点图解 整体代码 迭代器失效问题 内部失效 外部失效 深浅拷贝问题 vector介绍 vector是表示可变大小数组的序列式容器。vector采用连续的空间存储元素&#xff0c;大小…

HTML5 <meta> 标签

HTML5 <meta> 标签 实例 描述 HTML 文档的元数据&#xff1a; <head> <meta name"description" content"免费在线教程"> <meta name"keywords" content"HTML,CSS,XML,JavaScript"> <meta name"auth…

全志v851s 在 eyesee-mpp 中添加一个hello_world sample 的流程

1. 为什么要在eyesee-mpp 中添加sample&#xff1f; 1&#xff09;保持整个openwrt 应用程序编写的完成性&#xff1b; 2&#xff09;eyesee-mpp 中包含了几乎所有全志视频音频模块的sample 以及 头文件&#xff0c;参考以及头文件调用起来非常方便&#xff0c;而且可以学习各种…

MongoDB 聚合管道中使用数组表达式运算符合并数组($concatArrays)

数组表达式运算符主要用于文档中数组的操作&#xff0c;接上一篇&#xff1a;MongoDB 聚合管道中使用数组表达式运算符&#xff08;$slice截取数组&#xff09;https://blog.csdn.net/m1729339749/article/details/130130328本篇我们主要介绍数组表达式运算符中用于合并数组的操…

InnoSetup制作安装包(EXE)

功能描述 1.666666.war为项目war包&#xff0c;666666.bat为启动war包脚本&#xff0c;通过InnoSetup将它们打包到安装包666666.exe 2.666666.exe安装包安装过程中将666666.bat注册为自启动服务&#xff0c;安装结束自动执行脚本启动项目666666.war --------------------------…

VxLAN数据中心L2/L3互通(端到端)

VxLAN数据中心端到端方式实现L2/L3互连&#xff0c;这种实现方式可以使数据中心属于同一个EVPN-VXLAN域&#xff0c;相较于hand-off方式通过端到端实现数据中心L2互连可以满足Mac mobility、ARP suppression等特性。 实现思路 DC1的Border-Leaf和DC2的Border-Leaf之间运行EBG…

测试:腾讯云轻量4核8G12M服务器CPU流量带宽系统盘

腾讯云轻量4核8G12M应用服务器带宽&#xff0c;12M公网带宽下载速度峰值可达1536KB/秒&#xff0c;折合1.5M/s&#xff0c;每月2000GB月流量&#xff0c;折合每天66GB&#xff0c;系统盘为180GB SSD盘&#xff0c;地域节点可选上海、广州或北京&#xff0c;4核8G服务器网来详细…

MySQL 日志

错误日志(error log): error log 主要记录 MySQL 在启动、关闭或者运行过程中的错误i西南西&#xff0c;在MySQL 的配置文件 my.cnf 中&#xff0c;可以通过 log-error/var/log/mysqld.log 执行 mysql 错误日志的位置 慢查询日志(slow query log): MySQL 的慢查询日志是 MyS…

【erlang】并发篇

PID类型 在之前的语法篇中&#xff0c;我们并没有介绍 PID这个类型&#xff0c;它和并发息息相关&#xff0c;因此我们在这里来学习它。 PID是进程标识符的意思&#xff0c;用来标识一个erlang进程。在所有相连的erlang节点中&#xff0c;PID都是唯一的。但是PID会被复用&…

从零搭建一个 Level-2 快照数据的因子计算平台

因子挖掘是量化交易的基础。近年来&#xff0c;Python 是很多研究员进行数据分析和因子挖掘的主流工具。但是通过 Python 挖掘的有效因子在投产时&#xff0c;通常需要由 QUANT 团队的研究员将代码提交给 IT 团队&#xff0c;IT 团队用 C 代码转写后部署到生产环境&#xff0c;…

1. HTMLCSS

文章目录1 盒子模型&#xff1a;1.1 盒子属性导图1.2 边框属性导图1.3 定位导图&#xff1a;2 HTML常用标签2.1 基本标签① HTML基本结构② HTML常见标签③ 特殊字符④ 列表标签a 无序列表&#xff1a;b 有序列表&#xff1a;⑤ 表单3 CSS快速上手3.1 background属性① 思维导图…

自适应遗传算法求解TSP问题(Java)

1 引言 普通遗传算法&#xff08;Sample Genetic Algorithm, SGA&#xff09;存在着严重的缺点&#xff0c;它的Pc和Pm的值是固定的&#xff0c;本文采用自适应遗传算法进行求解TSP问题。不管是优良个体还是劣质个体都经过了相同概率的交叉和变异操作。这会引起两个很严重的问…

Linux驱动开发——高级I/O操作(二)

目录 proc文件操作 非阻塞型I/O 阻塞型I/O proc文件操作 proc 文件系统是一种伪文件系统&#xff0c;这种文件系统不存在于磁盘上&#xff0c;只存在于内存中只有内核运行时才会动态生成里面的内容。这个文件系统通常挂载在/proc 目录下&#xff0c;是核开发者向用户导出信息…

公司招人,面试了50+的候选人,技术实在是太烂了····

前两个月&#xff0c;公司测试岗位面了 50候选人&#xff0c;面试下来发现几类过不了的情况&#xff0c;分享大家防止踩坑&#xff1a; 技术倒是掌握得挺多&#xff0c;但只是皮毛&#xff0c;基础知识却是一塌糊涂。工作多年&#xff0c;从未学习过工作之外的技术栈&#xff…

ERTEC200P-2 PROFINET设备完全开发手册(7-1)

7. 配置模块及自定义模块 7.1.1 PN设备的基本模型 初次接触PN的开发者&#xff0c;最容易出现的错误就是设备的实际配置与TIA的组态不一致。为了开发的过程更加顺利&#xff0c;非常有必要掌握PN设备的基础模型。PN设备的基本模型如下图描述&#xff1a; PN设备的基本构成是插…

No.039<软考>《(高项)备考大全》【第23章】综合测试管理

【第23章】综合测试管理1 章节相关1.1 考试相关1.2 案例相关2 测试监控3 测试风险管理4 测试人员绩效考核4.1 测试分类测试类型分类执行方式分类开发阶段分类5 开发测试分类参考答案1 章节相关 1.1 考试相关 必考1分选择&#xff0c;案例概率低。 1.2 案例相关 2020年下半年…