简介

在前面的学习过程中,已经了解到了 AutoGPT 基本的环境安装操作。接下来就可以基于 AutoGPT 完成一些有趣的任务。通过 AutoGPT 实现我们的需求

环境准备

在正式使用 AutoGPT 之前,确认以下环境没有任何问题:

  1. 稳定的上网环境。
  2. 配置好的 AutoGPT 环境。
  3. 可以使用的 token。

如果还没有配置好环境,请参考章节 AutoGPT 理念与应用 优先完成环境配置。

实践演练

接下来需要使用 AutoGPT 实现几个 ChatGPT 无法实现的需求:

  1. 生成一个文件。
  2. 连接外网,查询信息,并生成 Excel 结果。

注意事项

  1. 提示词要明确一些,并且在过程中,需要不停的确认 Command 是否正确。
  2. 注意避免让 AutoGPT 陷入死循环中。
生成文件

使用过 ChatGPT 的同学应该都知道 ChatGPT 只能生成文本类结果,是无法直接生成文件的。接下来就使用 AutoGPT 进行写入文件操作:

  1. 进入项目,启动虚拟环境:source venvAutoGPT/bin/activate
  2. 执行启动命令:./run.sh
  3. 此时 AutoGPT 提示我们输入信息,输入提示词:生成一个 txt 文件,内容为 霍格沃兹测试开发学社。
  4. 接下来 AutoGPT 会有一个思考的过程,并会将思考过程展示在终端中,提示要进行的下一步操作:

人工智能 | 实现定制化 AutoGPT 实战_提示信息

/5、当发现 AutoGPT 提示以下信息时,代表我们需要进行选择:

#  输入“y”授权命令,“y -N”运行 N 个连续命令,“n”退出程序,或输入 FileCreatorGPT 的反馈...
  Enter 'y' to authorise command, 'y -N' to run N continuous commands, 'n' to exit program, or enter feedback for FileCreatorGPT...
  • 1.
  • 2.

6、如果确定执行 AutoGPT 所提示的命令,输入: y 即可。

7、点击y 之后,其实从日志也开始看到对应的提示信息:

人工智能 | 实现定制化 AutoGPT 实战_提示信息_02

8、接下来就可以终止任务,去本地的auto_gpt_workspace目录中看到对应的文件信息。 9、打开该文件,发现写入的内容满足需求。

人工智能 | 实现定制化 AutoGPT 实战_提示信息_03

查询信息,并生成文件

在成功实现生成文件之后,可以实现更进一步的难度。ChatGPT 还具备的一个缺点就是无法连接外网,而 AutoGPT 也补全了这一能力。接下来就使用 AutoGPT 进行数据查询以及生成文件操作。其实整体的流程和上面的生成文件的信息差不多,只是需要修改一下提示词信息。

  1. 进入项目,启动虚拟环境:source venvAutoGPT/bin/activate
  2. 执行启动命令:./run.sh
  3. 此时 AutoGPT 提示我们输入信息,输入提示词:查找 2023 年 9 月 6 日深圳的天气情况,生成一个 shenzhen.txt 文件,将天气结果写入其中。
  4. 根据返回信息,选择对应的命令。最后可以看一下结果,成功生成一个 shenzhen.txt 文件,并且有天气的数据写入。

人工智能 | 实现定制化 AutoGPT 实战_软件测试_04

其他复杂场景

在使用 AutoGPT 的过程中,AutoGPT 可能会给相关的提示信息,主要包含以下几个字段:

字段名称

作用

ai_goals

表示用户想要完成的目标,最多可以配置 5 个,也可以少于 5 个。

ai_name

本次服务的名称,可以理解为实现你目标的程序是一个机器人,ai_name 就是你给机器人取的名字。

ai_role

主要是为了辅助完成用户目标,对机器人的角色设定,更好的完成用户的任务。

api_budget

是调用 openai 服务接口的预算,单位是美元。

所以需要根据使用的情况,输入适合自己的选项。

AutoGPT Command 原理

其实 AutoGPT 中提示的 Command 其实只是一种由人类编写的程序函数,但它是提供给 GPT 调用的。比如谷歌搜索命令、文件操作命令、python 执行命令等。这一点,从它的底层源码也不难发现。有了这些内容,GPT 就知道它可以如何调用这些人类编写的函数,从而“获得”了网络访问能力和计算能力。

人工智能 | 实现定制化 AutoGPT 实战_字段_05

但是其实 AutoGPT 在火爆过一阵之后,人们,尤其是开发者,也发现其问题所在比如:

  1. 它可能会卡住,或者在一个已经有解任务中不停循环求解。
  2. 花费超出预期的 token 使用量。

越为复杂的场景, AutoGPT 处理起来可能愈发困难。但是 Auto-GPT 的底层原理并不复杂,它是依靠 prompt 实现的。如果作为一个比较有开发功底的人,如果我们想自己定制类似 AutoGPT 的效果,其实是比较容易的。

后面会基于 LangChain 的封装打造一个类似于 AutoGPT 的人工智能应用工具。