AutoGPT使用总结

前言

AI Agent(人工智能代理)是一种计算机程序,具有自主性、学习性、适应性、智能性和可扩展性等特征。它能够在不依赖人类干预的情况下,独立地完成任务和解决问题。AI Agent 通过与环境和用户互动,不断积累经验,提高自身的智能水平。随着大语言模型的快速发展,基于大模型的人工智能代理技术受到广泛关注,今天要介绍的是到目前为止github上star最多的一个关于AI Agent的开源项目:AutoGPT
AutoGPT具有一下几个特征:

  1. 互联网接入:用于搜索和信息收集
  2. 长期和短期记忆管理:可以用向量数据库来构建本地知识库或者保存Agent的长期记忆
  3. 可扩展性:可以使用自定义的插件,例如使用stable diffusion来实现文生图功能,使用语音合成工具将输入的文本内容用音频播放出来等
  4. 使用GPT-3.5和GPT-4的能力进行文件存储和汇总,文本生成等

在使用AutoGPT的过程中,只需要告诉它一个总目标,再设置若干个完成这个总目标所需的子任务,它就会按照子任务的顺序一个个地执行,并且在执行的过程中自我评价,给出执行动作的原因,直到最终完成最初设定的总目标

1.安装

1.注册常用的API key

在安装AutoGPT之前,先注册几个常用的API key,这在AutoGPT的配置中都会用到。在注册API key的过程中,如果没有账号,先注册对应网站的账号

1.OPENAI_API_KEY

这个必须注册,AutoGPT的核心大脑就是chatgpt模型,理解用户意图,理解每个被拆分的子任务,决定下一步动作等都需要chatgpt模型,下面的链接可以生成API key。注意openai是收费的,新注册的用于会有一些免费额度,生成API key之后需要自行保存,因为页面不会再展示API key了,如果忘记了,只能重新再生成API key
https://platform.openai.com/account/api-keys
在这里插入图片描述

2.HUGGINGFACE_API_TOKEN

这个API Key用于调用huggingface里的服务,比如想要让agent拥有文生图、语音识别的能力,可以用huggingface里的对应模型来实现,下面的链接可以生成API key:
https://huggingface.co/settings/tokens
在这里插入图片描述

3.GOOGLE_API_KEY和GOOGLE_CUSTOM_SEARCH_ENGINE_ID

这两个API Key可以让agent拥有上网的能力,并可以使用google的搜索引擎来搜索相关内容。具体步骤如下:
1)获取GOOGLE_API_KEY,登录下面的链接,点击【API和服务】,跳转页面后点击【启用API和服务】,跳转页面后搜索Custom Search API,然后点击搜索到内容【Custom Search API】,跳转页面后点击【启用】,启用后点击【凭据】菜单,跳转页面后点击【创建凭据】,然后点击【API密钥】,然后就能看到生成的API密钥了
链接:https://console.cloud.google.com/
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
2)获取GOOGLE_CUSTOM_SEARCH_ENGINE_ID,登录下面的链接,点击【添加】按钮来创建搜索引擎,跳转页面后给搜索引擎命名,点击【在整个网络中搜索】,还可以打开【图片搜索】和【安全搜索】,然后点击【创建】,创建成功后再返回搜索引擎页面,就能看到刚刚创建的搜索引擎了,点进进去,就能看到搜索引擎ID了
链接:https://cse.google.com/cse/all
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4.ELEVENLABS_API_KEY

这个用于语音合成,可以将AutoGPT返回的内容用音频播放出来,登录链接:https://elevenlabs.io/,进入elevenlabs的官网,点击右上角的头像,进入profile页面就能看到自己的ELEVENLABS_API_KEY了
在这里插入图片描述

2.安装AutoGPT项目

安装和配置的步骤如下:
1)进入下面的链接,下载最新的安装包,解压后直接进入.env.template文件所在的目录,把这个文件复制一份,重命名为.env,当做AutoGPT的配置文件
链接:https://github.com/Significant-Gravitas/AutoGPT/releases/latest
在这里插入图片描述

# 进入到.env.template文件所在的目录
cd AutoGPT/autogpts/autogpt
# 把.env.template文件复制一份,命名为.env,当作agent的配置文件
cp .env.template .env

2)在.env文件中更改配置信息,主要修改下面的参数
必传参数:
OPENAI_API_KEY:用于调用openai的chatgpt、text-embedding-ada-002等模型,提供了AutoGPT的核心能力
选填参数:
EXECUTE_LOCAL_COMMANDS:是否允许执行本地的命令行,默认为False,如果不是在docker中运行AutoGPT,建议设置成True
USE_WEB_BROWSER:选择让AutoGPT访问互联网的浏览器,建议设置成chrome
HEADLESS_BROWSER:是否让AutoGPT在后台使用Web 浏览器,默认为True。如果想显式的看AutoGPT操作浏览器,可以设置成False
GOOGLE_API_KEY:谷歌API Key,用于调用谷歌的搜索引擎
GOOGLE_CUSTOM_SEARCH_ENGINE_ID:谷歌自定义搜索引擎ID,用于调用谷歌的搜索引擎
TEXT_TO_SPEECH_PROVIDER:文本转音频的模型提供者,建议设置成elevenlabs
ELEVENLABS_API_KEY:ElevenLabs的API Key,用于语音合成,可以将文本转成音频
ELEVENLABS_VOICE_ID:选择发出音频的角色,不同的角色有不同的音色,女声可以设置成premade/Bella,男生可以设置成premade/Adam,如果想设置其他角色,可以到官网上查询
IMAGE_PROVIDER:图像生成的模型提供者,建议设置成huggingface
AUDIO_TO_TEXT_PROVIDER:音频转文本的模型提供者,目前只支持huggingface
HUGGINGFACE_API_TOKEN:huggingface的api key,和huggingface中的模型做交互
HUGGINGFACE_AUDIO_TO_TEXT_MODEL:huggingface文本转音频的模型,例如openai/whisper-large-v2
HUGGINGFACE_IMAGE_MODEL:huggingface图像生成的模型,例如stabilityai/stable-diffusion-xl-base-1.0
MEMORY_BACKEND:存储后端,目前只支持json_file

可以按照我这个来配置.env文件,注意把API Key换成你自己的:

# 访问openai
OPENAI_API_KEY=你自己的openai api key
# 允许本地执行命令行
EXECUTE_LOCAL_COMMANDS=True
# 使用谷歌浏览器上网
USE_WEB_BROWSER=chrome
HEADLESS_BROWSER=False
GOOGLE_API_KEY=你自己的google api key
GOOGLE_CUSTOM_SEARCH_ENGINE_ID=你自己的google search engine ID
# 文本转语音功能
TEXT_TO_SPEECH_PROVIDER=elevenlabs
ELEVENLABS_API_KEY=你自己的elevenlabs api key
ELEVENLABS_VOICE_ID=Bella
# 图片生成功能和语音转文本功能
IMAGE_PROVIDER=huggingface
AUDIO_TO_TEXT_PROVIDER=huggingface
HUGGINGFACE_API_TOKEN=你自己的huggingface api token
HUGGINGFACE_IMAGE_MODEL=stabilityai/stable-diffusion-xl-base-1.0
HUGGINGFACE_AUDIO_TO_TEXT_MODEL=openai/whisper-large-v2
# 长短期记忆功能
MEMORY_BACKEND=json_file

3.创建python虚拟环境,启动AutoGPT

AutoGPT的运行需要依赖python,建议新创建一个python虚拟环境,然后启动AutoGPT,在启动中如果遇到python依赖的问题,再手动安装即可

# 创建虚拟环境,起名autogpt
conda create -n autogpt python=3.10
# 激活虚拟环境
conda activate autogpt
# 启动AutoGPT,如果是windows系统,运行这行命令:.\run.bat
bash ./run.sh

2.使用

1.基本功能

启动AutoGPT后,在命令行中进行交互,主要交互的内容有:
1)I want Auto-GPT to:设置一个总目标,就是描述一下想让Agent做一件什么事
2)AI Name:给Agent起一个名字
3)Describe your AI’s role:定义Agent的角色,就是描述一下这个Agent应该具有哪些能力,擅长做什么事
4)Goal1-5:设置完成总目标所需要完成的子任务,让Agent一步一步来,最终完成最初设定的总目标。一般设置5个子任务,多一些少一些也没关系。注意最后的子任务要让agent结束所有任务,退出程序

交互内容如下图所示:
在这里插入图片描述
可以看出,Agent已经开始思考,并决定该如何去做了
THOUGHTS:这是Agent在思考为了完成总目标,下一步该怎么做
REASONING:这是Agent说明下一步决策的原因
PLAN:这是Agent的下一步决策所需的具体步骤
CRITICISM:这是Agent的对下一步决策所做的自我反馈和纠正
SPEAK:这部分内容Agent会转成音频播放出来。这里需要配置文本转音频的参数才行
NEXT ACTION:这是Agent下一步具体要做出的行动

可以看到Agent在一步步的完成子任务:
第一个行动是上网查询文生图模型,找到最合适的prompt提示词
在这里插入图片描述

得到了第一步行动返回的结果,搜到了openai的文生图模型dalle
在这里插入图片描述

第二步行动是要调用文生图模型,传入prompt提示词,生成图片
在这里插入图片描述

第三步行动是要将生成的图片保存下来
在这里插入图片描述

第四步行动是Agent觉得自己已经完成了总目标,想要结束程序
在这里插入图片描述

最终我们可以在auto_gpt_workspace目录里看到保存的结果,生成的这幅画包含了总目标中要求的大树、鲜花、日落、河流等元素
在这里插入图片描述

2.扩展功能

可以在启动的时候设置一些变量,来运行AutoGPT的扩展功能

  1. AutoGPT默认会调用GPT4模型,效果更好,价格也更高,如果你的OpenAI API Key不能访问GPT4,或者想节省成本,可以在启动的时候设置,只让Auto-GPT调用GPT3.5
./run.sh --gpt3only
  1. 开启文本转语音功能,让AutoGPT将行动中的SPEAK内容播放出来
./run.sh --speak
  1. 让AutoGPT自动执行完所有子任务,省去中间的交互过程。但一般不建议这么做
./run.sh --continuous
  1. 用户手动输入的Agent总目标,Agent名字,Agent角色定义,拆分出来的子任务,其实都会被保存在一个配置文件中,文件名默认为ai_settings.yaml,如下图所示。我们可以先在文件中定义好Agent总目标、名字、角色、子任务,然后在启动时指定配置文件,后让Agent直接执行
    在这里插入图片描述
./run.sh --ai-settings 自定义的ai_settings.yaml的文件地址
  1. AutoGPT在调用chatgpt模型的时候,是预先准备了一些prompt,再将用户设定的Agent总目标、名字、角色、子任务等内容包在预置的prompt里,这些prompt的内容在prompt_settings.yaml文件里,如下图所示,如果想要更改预置prompt内容,可以在文件里更改,然后启动AutoGPT的时候指定prompt预置文件
./run.sh --prompt-settings 自定义的prompt_settings.yaml的文件地址

3.总结

AutoGPT的功能有很多,除了本文列出访问互联网、图片生成、语音合成、保存文件等功能外,还可以添加很多插件,如果官方提供的插件不能满足你的需求,还可以按照插件制作模板手动的开发一些插件,让AutoGPT完成更有趣的任务。同时,除了本文介绍的关于.env文件中的配置以外,里面还有很多其他的配置来影响AutoGPT的功能,感兴趣的朋友可以多多尝试

官方插件库:https://github.com/Significant-Gravitas/Auto-GPT-Plugins
官方插件模板:https://github.com/Significant-Gravitas/Auto-GPT-Plugin-Template

参考链接:https://docs.agpt.co/

  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值