在ChatGPT引领的大模型时代,要想让大模型按照用户的指令执行,Prompt设计是一门艺术,由此还催生了一个职业”Prompt工程师“。其实,并不是所有人都可以设计出好的Prompt,甚至同样的Prompt应用在不同的大模型上表现的结果也是不一样的。虽然ChatGPT或者GPT-4可以调用一些插件来完成更多的功能,但总体来说功能有限。大模型后时代是什么?会是Agent吗?
Agent可以根据用户任务描述可以拆分任务、规划任务、执行任务,本文将分享Agent代表作之一AutoGPT。
一、AutoGPT介绍
2023年3月30日,AutoGPT是一个实验性开源项目,可以定义一个特定的角色(比如,“图书市场分析师”)和一系列目标(例如,“研究2022年最成功的科幻小说”、“总结它们”、“将摘要保存到文件中”等),并让GPT-4自动创建和执行实现目标所需的所有必要任务,具体包括:
- 通过搜索引擎进行研究;
- 浏览网站;
- 爬取数据;
- 本地存储文件;
- 使用长期记忆;
- 生成具有特殊角色的GPT-3.5机器人程序的新实例以完成子任务
(不用担心,如果您无法访问GPT-4,您也可以使用GPT-3.5 API密钥运行它)
二、AutoGPT使用
2.1 开发环境
- Python3.8以上;
- OpenAI API keys(可以通过https://platform.openai.com/account/api-keys来申请)
2.2 克隆AutoGPT代码
git clone https://github.com/Torantulino/Auto-GPT.git
# 切换到 stable分支
git checkout stable
PS:直接下载ZIP文件也可以
2.3 安装开发所需要的python库
# 切换到Auto-GPT根目录,执行如下代码
pip install -r requirements.txt
2.4 添加GPT4 API keys
复制.env.template为.env文件,把GPT-4 API keys填写到.env文件中字段OPENAI_API_KEY
.env.template文件格式如下所示:
2.5 启动AutoGPT
python -m autogpt
# 如果不想使用GPT-4,可以使用如下代码启动AutoGPT
python -m autogpt --gpt3only
此时,界面会让用户选择是否想继续使用你创建的最后一个人工智能代理。如果你想尝试一下,请键入“y”,或者键入“n”创建一个新的。
如果确定创建一个新的Agent,那么需要定义一个名字以及角色的描述:
接下来,定义最多5个目标(Goal)
至此,Auto-GPT开始如期执行,但是需要用户授权接下来的操作,用户可以输入y表示授权下一步操作,输入y-N表示用户可以授权接下来几个步骤的操作,输入n表示退出;当然如果输入其他内容,Auto-GPT会当做是人类的反馈,Auto-GPT会进行评估:
2.6 检查生成的结果
Auto-GPT生成的结果可以在文件夹“/outputs/logs”或者“/auto_gpt_workspace”查看
三、AutoGPT&向量数据库
对于LLM应用开发来说,向量数据库似乎是比不可少的存在,就连早期的AutoGPT也默认支持以下五种存储模式:
-
LocalCache (will be renamed to JSONFileMemory)
-
Redis
-
Milvus
-
Pinecone
-
Weaviate
但是最近AutoGPT说明文档显示将删除所有向量数据库实现,如下图所示:
更多内容可以参考:https://mp.weixin.qq.com/s/mlUg1N7jQ5f6HVKKOvKOjA
向量数据库是否真是必要的呢?
参考文献:
[1] https://generativeai.pub/complete-guide-to-setup-autogpt-revolutionize-your-task-automation-with-gpt-4-39eda5a85821
[2] https://github.com/Torantulino/Auto-GPT