1 前言
迄今为止,Github已经7.7万stars了,项目真的顶GitHub 地址: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领域
,因此其他领域还是坐观新测
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 更像人,增强了它与人互动的能力。
有人会问ChatGPT
和Auto-GPT
区别,哪个更好?
都好,且不同一个纬度,无法平行比较。首先知道一下人工智能AI和通用人工智能AGI的区别:人工智能 (AI) 是一个广义术语,指的是能够执行需要人类智能才能完成的任务的计算机系统。然而,通用人工智能 (AGI) 指的是可以像人类一样使用自己的过程、推理和智力执行任务的人工智能。
尽管 ChatGPT 是一个非常有能力的聊天机器人,但它仍然只是一个聊天机器人。作为聊天机器人,它仅限于仅对通过提示立即询问的内容做出回应。因此,它可以完成惊人的事情,但只有通过人类的指导。 Auto-GPT 的能力远不止于此,可以要求它完成一项一无所知的任务,然后看着它完成所有工作。即:ChatGPT
需要人去引导他,得到自己想要的东西;AutoGPT
是给他指令,他自己去思考,自己去想办法完成结果交付。这可以很明显看出后者的特色Auto,更自主化。
2 AutoGPT部分实例
2.1 类似一个Workflow
生成一个 GPT-4 代理来完成添加到待办事项列表中的任何任务
视频链接:https://twitter.com/i/status/1645918390413066240
2.2 市场调研
运营一个 AI 代理,负责进行产品研究并撰写有关最佳耳机的摘要
第二个视频是关于博客研究的,此外Nathan Lands还展示了用于销售勘探的 BabyAGI
视频1链接:https://twitter.com/i/status/1646095934177124353
视频2链接:https://twitter.com/i/status/1645898646762782735
2.3 自己写播客
自行阅读近期发生的事件自行总结并且撰写播客内容
视频链接:https://twitter.com/i/status/1645898646762782735
2.4 接入客服
AutoGPT可以不需要使用者一直输入指令,直接化身24h全天候智能客服,通达全语种,理解客户查询,提供支持,甚至建议追加销售
3 安装和使用AutoGPT
安装要求
- 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
- OpenAI API 密钥:https: //platform.openai.com/account/api-keys
- ElevenLabs API 密钥(在
个人资料
——xi-api-key
):https://elevenlabs.io
这样就可以了,如果需要在Azure
实例上使用 GPT,请设置USE_AZURE
为True
然后:
- 重命名
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: ""
...
- 详细信息可以参考:
https://pypi.org/project/openai/,https://learn.microsoft.com/en-us/azure/cognitive-services/openai/tutorials/embeddings?tabs=command-line
3.2 基础用法
- 在目录运行py文件
python scripts/main.py
# 授权单个命令,输入y
# 授权一系列N个连续命令,输入y -N
# 退出程序,进入n
也可以在 AUTO-GPT 的每个动作之后,键入“NEXT COMMAND”以授权它们继续。
要退出程序,请键入“exit”并按 Enter。
- 可以在文件夹中找到活动和错误日志
./output/logs
,输出调试日志:
python scripts/main.py --debug
- 语音模式:
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
- 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
- 命令行常用命令:
# 查看所有可行参数
python -m autogpt --help
# 用其他ai设置文件运行
python -m autogpt --ai-settings
# 指定内存后端
python -m autogpt --use-memory
- 内存后端设置
启动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=
- 设置缓存类型
默认情况下,Auto-GPT 将使用 LocalCache 而不是 redis 或 Pinecone。
若要切换到任一值,请将 env 变量更改为所需的值:MEMORY_BACKEND
local(默认值)使用本地 JSON 缓存文件
pinecone使用在 ENV 设置中配置的 Pinecone.io 帐户
redis将使用配置的 Redis 缓存
milvus将使用配置的 milvus 缓存
weaviate将使用配置的编织缓存
- 连续模式
无需用户授权即可运行AI,100%自动化。 不建议使用连续模式。 这是潜在的危险,可能会导致你的 AI 永远运行或执行您通常不会授权的操作。 使用风险自负
python -m autogpt --speak --continuous
Ctrl + C
退出程序
- 设置GPT-3.5
如果用不了GPT4可以改成3.5
python -m autogpt --speak --gpt3only
3.3 配置OpenAI的API
大家最熟悉了,https://platform.openai.com/account/api-keys
3.4 配置谷歌API
在谷歌云控制台https://console.cloud.google.com/,在左栏中找到API,新建一个项目,命名随意,这里用了demo
然后create 一个 credentials,API
每日免费自定义搜索配额最多只允许 100 次搜索。要增加此限制,需要为项目分配一个计费帐户,以从每天多达 10,000 次搜索中获利
设置自定义搜索引擎:https://cse.google.com/cse/all,命名随性,搜索范围可以全网,或者自定义。建议按领域来,像做生物生命科学的定向pubmed和谷歌学术镜像,可以稍微省时
准备好了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-seeding
,Image Generation
,Milvus
笔者这里没有提,内容太多太干太硬了,跟着上面的代码可以部署体验一波,需要重度使用务必仔细研究Github