LLM之Agent(一):使用GPT-4开启AutoGPT Agent自动化任务完整指南

       在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,可以使用如下代码启动AutoGPTpython -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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/217195.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MySQL表的操作『增删改查』

✨个人主页: 北 海 🎉所属专栏: MySQL 学习 🎃操作环境: CentOS 7.6 阿里云远程服务器 🎁软件版本: MySQL 5.7.44 文章目录 1.创建表1.1.创建时指定属性 2.查看表2.1.查看表结构2.2.查看建表信息…

如何搭建zerotier服务器组网实现内网穿透

小白花了四天的下班时间终于把zerotier网络调通,此刻坐在桌前舒畅地喝口茶~~ 下面来详细记录下这几天踩的坑: 起因就在于一直在iPad上用向日葵连接公司电脑的我觉得向日葵的界面用的实在难受,vs code操作十分不灵光&…

深度学习图像风格迁移 计算机竞赛

文章目录 0 前言1 VGG网络2 风格迁移3 内容损失4 风格损失5 主代码实现6 迁移模型实现7 效果展示8 最后 0 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 深度学习图像风格迁移 - opencv python 该项目较为新颖,适合作为竞赛课题…

个人硬件测试用例入门设计

📑打牌 : da pai ge的个人主页 🌤️个人专栏 : da pai ge的博客专栏 ☁️宝剑锋从磨砺出,梅花香自苦寒来 🌤️功能测试 进行新增、…

中国信通院王蕴韬:从“好用”到“高效”,AIGC需要被再次颠覆

当下AIGC又有了怎样的颠覆式技术?处于一个怎样的发展阶段?产业应用如何?以及存在哪些风险?针对这些问题,我们与中国信通院云计算与大数据研究所副总工程师王蕴韬进行了一次深度对话,从他哪里找到了这些问题…

基于单片机的智能鱼缸(论文+源码)

1.总体设计 在本次设计中,其系统整个框图如下图2.1所示。其主要的核心控制模块由单片机模块,LCD显示模块,喂食模块,蜂鸣器模块,按键模块,复位电路,抽水电路,加热电路,加…

【报错栏】(Vue) Invalid handler for event “click“: got undefined

Property or method "add" is not defined on the instance but referenced during render. 翻译: 属性或方法“add”未在实例上定义,但在渲染期间引用。 Invalid handler for event "click": got undefined 翻译: …

Acrel-2000电力监控系统在上海大世界保护修缮工程项目中的应用

摘要:安科瑞生产厂家1876150/-6237黄安南 介绍上海大世界电力监控系统,采用智能电力仪表采集配电现场的各种电参量和开关信号。系统采用现场就地组网的方式,组网后通过现场总线通讯并远传至后台,通过Acrel-2000型电力监控系统实现…

2023-11-24--oracle--实验--[Merge 语句]

oracle--实验---Merge语句 1.认知Merge 语句 • merge 语句是 sql 语句的一种。在 SQL server 、 Oracle 数据库中可用, MySQL 中不可用。 • merge 用来合并 update 和 insert 语句。目的:通过 merge 语句,根据一张表( 原数据表…

2、分布式锁实现原理与最佳实践(二)

常见分布式锁的原理 4.1 Redisson Redis 2.6之后才可以执行lua脚本,比起管道而言,这是原子性的,模拟一个商品减库存的原子操作: //lua脚本命令执行方式:redis-cli --eval /tmp/test.lua , 10 jedis.set("produ…

前缀和+哈希表——560. 和为 K 的子数组

文章目录 🪐1. 题目🌟2. 算法原理⭐解法一:暴力枚举⭐解法二:前缀和哈希表 🌞3. 代码实现 🪐1. 题目 题目链接:560. 和为 K 的子数组 - 力扣(LeetCode) 给你一个整数数组…

python与C++与TensorRT的绑定

绑定的起因 Jetpack中的TensorRT不能直接在python3.8环境中使用,所以我们需要对TensorRT利用pybind11对python相进性绑定。 绑定的官方链接如下:点击这里 这个是8.2版本的,你可以使用其他版本也是可以的。 整个过程可以在虚拟环境中完成,主要是想最后的whl文件 在Jetson…