在Github中77k星的AutoGPT安装及配置教程,能实现独立思考自动化

本文涉及的产品
云数据库 Tair(兼容Redis),内存型 2GB
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
简介: 十分重磅!GPT3.5都还没玩明白,傍着GPT4的AutoGPT就又要乱杀了,特斯拉前 AI 总监、刚刚回归 OpenAI 的 Andrej Karpathy也提到“AutoGPT”将成为提示工程的下一个前沿,网上很多人只提突破性,不提局限性,twitter的原话是prompt engineering领域,因此其他领域还是坐观新测


1 前言

迄今为止,Github已经7.7万stars了,项目真的顶image.pngGitHub 地址:https://github.com/torantulino/auto-gpt

这里提前下载好了,如果登不上Github或者下载失败的可以在后台回复autogpt领取v0.2.1的源码压缩包

1.1 什么是AutoGPT

十分重磅!GPT3.5都还没玩明白,傍着GPT4的AutoGPT就又要乱杀了,特斯拉前 AI 总监、刚刚回归 OpenAI 的 Andrej Karpathy也提到“AutoGPT”将成为提示工程的下一个前沿,网上很多人只提突破性,不提局限性,twitter的原话是prompt engineering领域,因此其他领域还是坐观新测

image.png

Auto-GPT 是一个实验性的开源 Python 应用程序,它使用GPT-4自主运行。听名字也知道,auto,自主人工智能,这意味着 Auto-GPT 可以在几乎没有人为干预的情况下执行任务,并且可以自我提示。一言以蔽之,AutoGPT可以实现:分配一个任务,它能自行生成一个结果及任务的每一个提示,其实这类的AI还有AgentGPT、BabyAGI,但,真不够AutoGPT火,其也有火的道理

1.2 为什么是AutoGPT

Auto-GPT 可以将 AI 的行为分解为“思想”、“推理”和“批评”,这展示了 GPT 令人印象深刻的文本生成能力。此功能使用户能够准确了解 AI 在做什么以及为什么这样做。简单说是,有一个人能帮你完成任务,还会告诉你怎么做。例如,就 Chef-GPT 而言,AI 的第一个“想法”是“搜索即将发生的事件以找到合适的事件来创建独特的食谱”。这一行动背后的“原因”是“找到即将发生的事件将帮助我想出一个相关且令人兴奋的食谱。”

Auto-GPT 的“批评”分析了对其行为的潜在约束或限制,进一步展示了其在实现用户设定的目标的同时自主运行的能力。此外,Auto-GPT 具有长期和短期记忆功能,以及通过 ElevenLabs 进行的文本转语音功能。这些功能的融合使 Auto-GPT 更像人,增强了它与人互动的能力。

有人会问ChatGPTAuto-GPT区别,哪个更好?

都好,且不同一个纬度,无法平行比较。首先知道一下人工智能AI通用人工智能AGI的区别:人工智能 (AI) 是一个广义术语,指的是能够执行需要人类智能才能完成的任务的计算机系统。然而,通用人工智能 (AGI) 指的是可以像人类一样使用自己的过程、推理和智力执行任务的人工智能。

尽管 ChatGPT 是一个非常有能力的聊天机器人,但它仍然只是一个聊天机器人。作为聊天机器人,它仅限于仅对通过提示立即询问的内容做出回应。因此,它可以完成惊人的事情,但只有通过人类的指导。 Auto-GPT 的能力远不止于此,可以要求它完成一项一无所知的任务,然后看着它完成所有工作。即:ChatGPT需要人去引导他,得到自己想要的东西;AutoGPT是给他指令,他自己去思考,自己去想办法完成结果交付。这可以很明显看出后者的特色Auto,更自主化。

2 AutoGPT部分实例

2.1 类似一个Workflow

生成一个 GPT-4 代理来完成添加到待办事项列表中的任何任务image.png

视频链接:https://twitter.com/i/status/1645918390413066240

2.2 市场调研

运营一个 AI 代理,负责进行产品研究并撰写有关最佳耳机的摘要image.png

第二个视频是关于博客研究的,此外Nathan Lands还展示了用于销售勘探的 BabyAGI
image.png

视频1链接:https://twitter.com/i/status/1646095934177124353
视频2链接:https://twitter.com/i/status/1645898646762782735

2.3 自己写播客

自行阅读近期发生的事件自行总结并且撰写播客内容

image.png

视频链接:https://twitter.com/i/status/1645898646762782735

2.4 接入客服

AutoGPT可以不需要使用者一直输入指令,直接化身24h全天候智能客服,通达全语种,理解客户查询,提供支持,甚至建议追加销售

image.png

推文链接:https://twitter.com/gregisenberg/status/1645817335024869376?ref_src=twsrc^tfw|twcamp^tweetembed|twterm^1645817335024869376|twgr^1bcdfa0f1f346feb279a7821bda593c41ddc14de|twcon^s1_&ref_url=https%3A%2F%2Fautogpt.net%2Famazing-use-cases-for-auto-gpt-on-twitter%2F

3 安装和使用AutoGPT

image.png

安装要求

  • Python 3.8 或更高版本
  • OpenAI API 密钥
  • Pinecone API 密钥
  • ElevenLabs Key(这个是可以转换成语音,非必要要求)

3.1 安装

确保满足安装要求,记得下载git工具,然后在bash或者cmd或者turminal克隆库:

git clone https://github.com/Torantulino/Auto-GPT.git

进入库

cd Auto-GPT

安装依赖项

pip install -r requirements.txt

重命名.env.template.env并填写 OPENAI_API_KEY. 如果打算使用语音模式,也需要填写 ELEVEN_LABS_API_KEY

这样就可以了,如果需要在Azure实例上使用 GPT,请设置USE_AZURETrue然后:

  • 重命名azure.yaml.template为 并提供部分 中相关模型的azure.yaml相关azure_api_base和 所有部署 ID  :azure_api_versionazure_model_map

  • 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
  • 将所有这些值指定为双引号字符串

# Replace string in angled brackets (<>) to your own ID

azure_model_map:

 fast_llm_model_deployment_id: ""

 ...

3.2 基础用法

  1. 在目录运行py文件

python scripts/main.py


# 授权单个命令,输入y

# 授权一系列N个连续命令,输入y -N

# 退出程序,进入n

也可以在 AUTO-GPT 的每个动作之后,键入“NEXT COMMAND”以授权它们继续。

要退出程序,请键入“exit”并按 Enter。

  1. 可以在文件夹中找到活动和错误日志./output/logs,输出调试日志:

python scripts/main.py --debug

  1. 语音模式:

python scripts/main.py --speak


#目前已有的11个lab id

Rachel : 21m00Tcm4TlvDq8ikWAM

Domi : AZnzlk1XvdvUeBnXmlld

Bella : EXAVITQu4vr4xnSDxMaL

Antoni : ErXwobaYiN019PkySvjV

Elli : MF3mGyEYCl7XYWbV9V6O

Josh : TxGEqnHWrfWFTfGW9XjX

Arnold : VR6AewLTigWG4xSOukaG

Adam : pNInz6obpgDQGcFmaJgB

Sam : yoZ06aMxZJJ28mfd3POQ

  1. docker:

# 调用和运行

docker build -t autogpt .

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


# 或者

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


# 其他参数

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

  1. 命令行常用命令:

# 查看所有可行参数

python -m autogpt --help


# 用其他ai设置文件运行

python -m autogpt --ai-settings


# 指定内存后端

python -m autogpt --use-memory  

  1. 内存后端设置
    启动redis的docker

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

然后配置.env

MEMORY_BACKEND=redis

REDIS_HOST=localhost

REDIS_PORT=6379

REDIS_PASSWORD=

  1. 设置缓存类型
    默认情况下,Auto-GPT 将使用 LocalCache 而不是 redis 或 Pinecone。

若要切换到任一值,请将 env 变量更改为所需的值:MEMORY_BACKEND

local(默认值)使用本地 JSON 缓存文件

pinecone使用在 ENV 设置中配置的 Pinecone.io 帐户

redis将使用配置的 Redis 缓存

milvus将使用配置的 milvus 缓存

weaviate将使用配置的编织缓存

  1. 连续模式

无需用户授权即可运行AI,100%自动化。 不建议使用连续模式。 这是潜在的危险,可能会导致你的 AI 永远运行或执行您通常不会授权的操作。 使用风险自负

python -m autogpt --speak --continuous

Ctrl + C退出程序

  1. 设置GPT-3.5

如果用不了GPT4可以改成3.5

python -m autogpt --speak --gpt3only

3.3 配置OpenAI的API

大家最熟悉了,https://platform.openai.com/account/api-keys

image.png

3.4 配置谷歌API

在谷歌云控制台https://console.cloud.google.com/,在左栏中找到API,新建一个项目,命名随意,这里用了demo

image.png

然后create 一个 credentials,APIimage.png

每日免费自定义搜索配额最多只允许 100 次搜索。要增加此限制,需要为项目分配一个计费帐户,以从每天多达 10,000 次搜索中获利


设置自定义搜索引擎:https://cse.google.com/cse/all,命名随性,搜索范围可以全网,或者自定义。建议按领域来,像做生物生命科学的定向pubmed和谷歌学术镜像,可以稍微省时

image.png

准备好了API,开始设置环境变量:

Windows 用户:

setx GOOGLE_API_KEY "YOUR_GOOGLE_API_KEY"

setx CUSTOM_SEARCH_ENGINE_ID "YOUR_CUSTOM_SEARCH_ENGINE_ID"

macOS 和 Linux 用户:

export GOOGLE_API_KEY="YOUR_GOOGLE_API_KEY"

export CUSTOM_SEARCH_ENGINE_ID="YOUR_CUSTOM_SEARCH_ENGINE_ID"

3.5 配置Pinecone API

  • 去Pineconehttps://app.pinecone.io/并创建一个帐户。
  • 选择计划以避免被收费。Starter
  • 在左侧边栏的默认项目下找到API密钥和区域

windows用户:

setx PINECONE_API_KEY ""

setx PINECONE_ENV "" # e.g: "us-east4-gcp"

setx MEMORY_BACKEND "pinecone"

macOS 和 Linux 用户:

export PINECONE_API_KEY=""

export PINECONE_ENV="" # e.g: "us-east4-gcp"

export MEMORY_BACKEND="pinecone"

4.讨论

这个虽然是刚出来的实验性项目,但是潜力,真的很大很大,关于Memory pre-seedingImage GenerationMilvus笔者这里没有提,内容太多太干太硬了,跟着上面的代码可以部署体验一波,需要重度使用务必仔细研究Github

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore &nbsp; &nbsp; ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库&nbsp;ECS 实例和一台目标数据库&nbsp;RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&amp;RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
目录
相关文章
|
1月前
|
运维 Linux Apache
Puppet 作为一款强大的自动化运维工具,被广泛应用于配置管理领域。通过定义资源的状态和关系,Puppet 能够确保系统始终处于期望的配置状态。
Puppet 作为一款强大的自动化运维工具,被广泛应用于配置管理领域。通过定义资源的状态和关系,Puppet 能够确保系统始终处于期望的配置状态。
51 3
|
1月前
|
JavaScript Linux Windows
Typora图床配置(用自带的 PicGo-Core(command line) 插件GitHub
Typora图床配置(用自带的 PicGo-Core(command line) 插件GitHub
|
1月前
|
Linux 应用服务中间件 Shell
利用 ACME 实现SSL证书自动化配置更新
【10月更文挑战第11天】多项式承诺原理是密码学中的重要工具,允许证明者向验证者承诺一个多项式并证明其某些性质。Kate多项式承诺是一种知名方案,基于有限域上的多项式表示,通过生成和验证简洁的证明来确保多项式的正确性和隐私。其安全性基于离散对数假设。应用场景包括区块链中的零知识证明和可验证计算,以及多方计算和身份认证协议。在区块链中,Kate多项式承诺可用于保护隐私币和智能合约中的敏感信息。
|
1月前
|
Web App开发 Java 测试技术
一、自动化:web自动化。Selenium 入门指南:从安装到实践
一、自动化:web自动化。Selenium 入门指南:从安装到实践
38 0
|
2月前
|
Linux Shell 网络安全
Kickstart 自动化安装
Kickstart结合PXE技术实现Linux系统的自动化安装,适用于需批量部署一致版本的服务器场景,以减少重复劳动。通过搭建Kickstart+DHCP+NFS+TFTP+PXE架构,服务器可远程启动并下载安装配置。具体包括:配置TFTP服务以传输启动文件,设置PXE引导参数指向Kickstart脚本,利用DHCP分配IP地址。这种方式极大地提高了部署效率与一致性。
46 2
|
2月前
|
Linux
Kickstart 自动化安装
随着业务增长,服务器需求增加且需统一Linux版本以便维护。Kickstart自动化安装平台结合PXE技术,简化安装流程,显著节省时间。Intel开发的PXE技术允许工作站通过网络下载映像并启动操作系统,整个架构包括Kickstart+DHCP+NFS+TFTP+PXE。配置涉及DHCP、TFTP安装及PXE内核模块配置,最终实现远程自动化安装Linux系统。
35 3
|
3月前
|
持续交付 jenkins Devops
WPF与DevOps的完美邂逅:从Jenkins配置到自动化部署,全流程解析持续集成与持续交付的最佳实践
【8月更文挑战第31天】WPF与DevOps的结合开启了软件生命周期管理的新篇章。通过Jenkins等CI/CD工具,实现从代码提交到自动构建、测试及部署的全流程自动化。本文详细介绍了如何配置Jenkins来管理WPF项目的构建任务,确保每次代码提交都能触发自动化流程,提升开发效率和代码质量。这一方法不仅简化了开发流程,还加强了团队协作,是WPF开发者拥抱DevOps文化的理想指南。
82 1
|
3月前
|
持续交付 jenkins C#
“WPF与DevOps深度融合:从Jenkins配置到自动化部署全流程解析,助你实现持续集成与持续交付的无缝衔接”
【8月更文挑战第31天】本文详细介绍如何在Windows Presentation Foundation(WPF)项目中应用DevOps实践,实现自动化部署与持续集成。通过具体代码示例和步骤指导,介绍选择Jenkins作为CI/CD工具,结合Git进行源码管理,配置构建任务、触发器、环境、构建步骤、测试及部署等环节,显著提升开发效率和代码质量。
76 0
|
3月前
|
Java Spring 开发者
解锁 Spring Boot 自动化配置的黑科技:带你走进一键配置的高效开发新时代,再也不怕繁琐设置!
【8月更文挑战第31天】Spring Boot 的自动化配置机制极大简化了开发流程,使开发者能专注业务逻辑。通过 `@SpringBootApplication` 注解组合,特别是 `@EnableAutoConfiguration`,Spring Boot 可自动激活所需配置。例如,添加 JPA 依赖后,只需在 `application.properties` 配置数据库信息,即可自动完成 JPA 和数据源设置。这一机制基于多种条件注解(如 `@ConditionalOnClass`)实现智能配置。深入理解该机制有助于提升开发效率并更好地解决问题。
70 0
|
3月前
|
运维 应用服务中间件 nginx
自动化运维的利剑:Ansible Role 打造标准化配置
【8月更文挑战第31天】在追求效率和稳定性的今天,自动化运维不再是奢侈品,而是必需品。Ansible Role,作为自动化配置管理的利器,它如何帮助我们实现标准化部署和维护?本文将通过一个简单示例,带你了解 Ansible Role 的魅力所在,并探讨其在现代 IT 架构中的应用价值。