拥有自我意识的AI:AutoGPT | 得物技术

news2024/11/20 4:32:38

1.引言

ChatGPT在当下已经风靡一时,作为自然语言处理模型的佼佼者,ChatGPT的优势在于其能够生成流畅、连贯的对话,同时还能够理解上下文并根据上下文进行回答。针对不同的应用场景可以进行快速定制,例如,在客服、教育、娱乐等领域中,ChatGPT可以作为智能助手为用户提供便捷的服务和娱乐体验。

从GPT-3到GPT-4,我们可以看到在高级推理,输入设置,微调行为和理解更长的上下文信息等方面,ChatGPT在不断的优化训练中已经取得了显著的进展。

但是针对于这种交互式的GPT模型,我们更希望看到能像电影里的人工智能,拥有自我意识,可以进行自我学习和进化。不需要通过频繁的引导和交互,我们只需要简单提出一个目标,AI就能自主的完成所有的执行规划和逻辑处理,并不断进行自我论证和优化,最后完成我们提出的目标。

那么今天它来了,它就是ChatGPT的进化版本:AutoGPT

2.什么是AutoGPT?

AutoGPT 是一个实验性开源应用程序,它利用 OpenAI 的GPT-4语言模型来创建完全自主和可定制的 AI 代理。它于 2023 年 3 月 30 日由 Toran Bruce Richards 发行。

Toran 是一名游戏开发商,并创立了一家名为 Significant Gravitas 的游戏公司。

在短短的一个多月时间里,AutoGPT的Git项目已经获得了超过12万的star,作为 GPT-4 完全自主运行的首批示例之一,AutoGPT 突破了 AI 的可能性界限。

与其他 AI 工具相比,AutoGPT 是独一无二的,因为它独立运行,这意味着你不再需要操纵模型来满足你的需求。相反,你只需要写下你的目标,然后 AI 会为你完成剩下的工作。因此,AutoGPT 从根本上改变了 AI 与人类之间的交互方式,人类不再需要发挥积极作用,同时仍然保持与 ChatGPT 等其他 AI 应用程序相同或更好的结果质量。

3.AutoGPT 如何工作?

AutoGPT 基于自主 AI 机制工作,其中 AI 系统创建不同的 AI 代理来满足特定任务,其中包括:

  • 任务创建代理:当你在 AutoGPT 上输入目标时,第一个与任务创建代理交互的 AI 代理。根据你的目标,它将创建一个任务列表以及实现这些目标的步骤,并将其发送给优先级代理。

  • 任务优先级代理:收到任务列表后,优先级 AI 代理会确保顺序正确且符合逻辑,然后再将其发送给执行代理。

  • 任务执行代理:完成优先级排序后,执行代理将一个接一个地完成任务。这涉及利用 GPT-4、互联网和其他资源来获得结果。

上述代理之间相互通信。所以当执行代理完成所有任务,结果不理想时,它可以与任务创建代理通信,创建新的任务列表。三个代理之间的迭代循环,直到完成所有用户定义的目标。

AI 代理的行为也显示在用户界面上,将它们分为四组:思想、推理、计划、评判

  • 思想(THOUGHTS):AI 代理分享它对目标的想法。

  • 推理(REASONING):AI 代理推理如何开展并实现它的想法。

  • 计划(PLAN):AI代理通过分析,列举了所要完成任务的计划。

  • 评判(CRITICISM):AI进行自我评判,纠正错误并克服任何限制问题。

通过共享此计算流程,AutoGPT 可以进行反复尝试论证,并进行针对性的优化处理,可以在没有任何用户干预的情况下克服所遇到的所有问题。

4.AutoGPT和ChatGPT的对比?

虽然底层的 LLM 模型是相同的,但是 AutoGPT 和 ChatGPT 之间还是有不少区别。

4.1  实时洞察

ChatGPT 使用的最新 GPT-4 模型是在与 GPT-3.5 相同的数据上训练的,该数据仅到 2021 年 9 月,你无法使用 ChatGPT 获得实时数据信息,因为你无法访问网站和在线平台来获取信息和提取信息。

相比之下,AutoGPT 可以访问互联网。它不仅可以上网冲浪,还可以验证来源是否合法。此外,AutoGPT 可以访问任何平台来执行任务。例如,如果你要求 AI 研究销售产品的前景并发送外联电子邮件,它会直接使用你的 Gmail 帐户起草并发送电子邮件。

4.2  内存管理

上下文窗口对于语言模型给出准确答案非常重要。但在像 GPT-4 这样的 LLM 中,窗口有 4000 到 8000 个令牌的限制。因此,如果要求超出限制,模型可能无法正确遵循所有指令,或者可能偏离正切并提供不可靠的输出。

相比之下,AutoGPT 擅长短期和长期内存管理。通过使用数据库,本地Cache和Redis进行内存管理,可以存储大量上下文信息或以前的经验,让AI模型做出更好的决策。

4.3  图像生成

AutoGPT 能够生成图像,因为它可以使用多种图像生成引擎,默认使用DALL-E 。如果你想为你的 AI 代理启用图像生成功能,你需要访问 DALL-E 的 API。尽管是多模式输入方式,但此功能目前在 ChatGPT-4 中不可用。

4.4  文字转语音

你可以通过在命令行中键入python -m autogpt --speak在 AutoGPT 上启用文本到语音转换。但是每次与 AutoGPT 交互时都必须输入命令。你还可以通过将 AutoGPT 连接到多功能 AI 语音软件 Eleven Labs,为语音添加不同的声音。

5.AutoGPT 的局限性

毫无疑问,自主性为AI系统增加了一个新的维度。同时,我们也不能忽视AutoGPT的局限性和风险。下面列出了你必须知道的一些关键限制。

5.1  成本高昂

虽然功能令人惊叹,但 AutoGPT 的实用性可能会让你失望。由于 AutoGPT 使用昂贵的 GPT-4 模型,因此即使是小任务,完成每个任务的成本也可能很高。这主要是因为 AutoGPT 在特定任务的步骤中会多次使用 GPT-4。

5.2  经常陷入循环

用户在使用 AutoGPT 时面临的最常见问题是它陷入循环。如果这种情况持续超过几分钟,则可能意味着你必须重新启动该过程。发生这种情况是因为 AutoGPT 依赖 GPT-4 来正确定义和分解任务。因此,如果底层LLM返回结果不足以让 AutoGPT 采取任何行动就会出现反复尝试的问题。

5.3  数据安全性

由于AutoGPT经过充分授权,能自主运行并访问你的系统和互联网,例如使用你的twitter账号,登录github,使用搜索引擎等,因此你的数据可能会被泄露。AutoGPT没有安全代理,所以你在使用 AutoGPT 时必须小心,如果没有给出正确的说明和安全指南,你不能让模型继续运行。

6.如何安装 AutoGPT?

与其他人工智能工具不同,AutoGPT 没有简单的注册程序来访问其平台和功能。在开始使用 AutoGPT 之前,你必须下载各种软件以满足要求。以下是详细的步骤要求:

  • 第一步:下载必备软件

首先你需要有一个Git账号,同时需要安装Python3.1.0或者更高版本,此外你必须还能熟练使用常用的shell命令或者有Docker容器进行项目启动和配置。

  • 第二步:设置你的 OpenAI API 密钥

如果你还没有,请创建一个 OpenAI 帐户(当然如果你在国内想要创建账号不是一件简单的事情,你可以参考网上其他文章进行账号申请)。打开OpenAI帐户后,打开USER - API keys转到 API 密钥选项卡。你将看到一个用于创建密钥的选项。单击它,然后复制密钥。

  • 第三步:克隆最新版本的AutoGPT

(1)clone项目

打开命令行工具通过命令git clone https://github.com/Torantulino/Auto-GPT.git 将项目clone到本地

(2)执行安装

通过命令cd Auto-GPT && ls -al进入目录后,可以看到有很多的文件,其中一个文件是 requirements.txt。在此文件中,你将看到运行 AutoGPT 所需的模块。

要安装这些模块,可以使用命令pip install -r requirements.txt 进行下载安装。

(3)修改配置

通过命令vim .env.template  进行open-api-key的配置(修改并替换your-openai-api-key),配置完成后执行mv .env.template .env 使配置生效

其他相关的配置可以参考表格按需进行

LLM PROVIDER

可以配置OPENAI_API_KEY,是否使用AZURE

LLM MODEL SETTINGS

可以配置openAI提供的token限制,避免过度调用成本浪费 ,默认4000-8000

LLM MODELS

LLM 底层语言模型,默认可以选择GPT-4或者gpt-3.5-turbo

MEMORY

内存管理,可以配置local,redis,PINECONE,MILVUS等

IMAGE GENERATION PROVIDER

图像生成,可以配置图像大小和图像生成引擎:dalle,HUGGINGFACE,STABLE DIFFUSION WEBUI

AUDIO TO TEXT PROVIDER

语音转文字,可以配置HUGGINGFACE

GIT Provider for repository actions

github配置,通过配置github api key用于访问和管理github

WEB BROWSING

搜索引擎管理,可以配置不同的浏览器:firefox,chrome,safari,搜索引擎:google等授权open api用于访问互联网获取信息和管理访问深度

TTS PROVIDER

文本转语音,可以配置MAC OS,STREAMELEMENTS,ELEVENLABS来进行文本转语音

TWITTER API

twitter账号管理,管理配置你的twitter账号,配置token用于访问对应的api

AUTO-GPT - GENERAL SETTINGS

AutoGPT的一些默认配置,例如存放目录,开关,user Agent ,AI settings等

(4)开始使用

在完成以上配置以后,就已经完成了AutoGPT的基本配置,这时候就可以通过命令python -m autogpt 开启你的AutoGPT之旅 !

从上图可以看出,AutoGPT需要你为AI取一个名字[Name],一个角色定位[Role],同时你可以为它制定目标[Goals](最多5个目标,如果你仅有一个目标就直接回车)。

在你制定完成目标以后,AutoGPT会进行自主思考并分析你的目标[THOUGHTS],思考完成后开始理解并推理如何去完成这个目标[REASONING],然后开始自主拆解成具体的计划[PLAN],最后会提出评判[CRITICISM] 用以保证 AI 代理纠正错误并作出正确的决断。

完成以上的行为规划后,AutoGPT会提示它将要作出的指令和动作[NEXT ACTION], 里面包含具体执行的命令[COMMAND]和参数[ARGUMENTS],用户可以在此时可以对风险命令进行识别,避免出现数据泄露等预期外的风险,这里可以通过y或者n进行授权或者拒绝AutoGPT接下来的指令动作。

AutoGPT会通过以上步骤,进行多次循环,由于AutoGPT可以存储上下文和历史经验,所以每一次都会根据反馈结果进行更深入的思考,制定出更优的方案,最后列举他要执行的计划,反复尝试和补充,直到达到你预期的目标。

AutoGPT会通过以上步骤,进行多次循环,由于AutoGPT可以存储上下文和历史经验,所以每一次都会根据反馈结果进行更深入的思考,制定出更优的方案,最后列举他要执行的计划,反复尝试和补充,直到达到你预期的目标。

(5)Docker使用

当然,你也可以使用docker运行 :

// 最简单的方式就是通过docker-compose
docker-compose build auto-gpt
docker-compose run --rm auto-gpt

// 使用docker命令构建
docker build -t auto-gpt .
docker run -it --env-file=.env -v $PWD:/app auto-gpt

 你可以传递额外的参数,例如,运行方式--gpt3only--continuous模式:

// docker-compose
docker-compose run --rm auto-gpt --gpt3only --continuous

// docker 
docker run -it --env-file=.env -v $PWD:/app --rm auto-gpt --gpt3only --continuous

7.总结

与传统的文本生成技术相比,我们发现AutoGPT的能力进化令人震惊,它可以通过分析你的目标,自动拆解成它需要执行的任务,并在执行的过程中根据已有的经验和决策不断优化完善和总结,同时AutoGPT获取信息的手段也非常丰富,它能通过搜索引擎搜索,github,网页工具等渠道下载和提炼所需要的信息,通过本地缓存,语音转化,图像生成等插件能力,最终完成你所设立的目标。这种自我意识,自我迭代和更新的形态已经非常接近于电影《流浪地球》里的moss这种人工智能!

最后问题来了,这篇文章是AutoGPT自动生成的吗?


线下活动推荐:

时间:2023年6月10日(周六) 14:00-18:00

主题:得物技术沙龙总第18期-无线技术第4期

地点:杭州·西湖区学院路77号得物杭州研发中心12楼培训教室(地铁10号线&19号线文三路站G口出)

活动亮点:本次无线沙龙聚焦于最新的技术趋势和实践,将在杭州/线上为你带来四个令人期待的演讲话题,包括:《抖音创作工具-iOS功耗监控与优化》、《得物隐私合规平台建设实践》、《网易云音乐-客户端大流量活动的日常化保障方案实践》、《得物Android编译优化》。相信这些话题将对你的工作和学习有所帮助,我们期待着与你共同探讨这些令人兴奋的技术内容!   

点击报名:得物无线技术沙龙第4期(总第18期) 预约报名-得物技术沙龙活动-活动行

本文属得物技术原创,来源于:得物技术官网

未经得物技术许可严禁转载,否则依法追究法律责任!

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Unity-UGUI控件全面解析】| TextMeshPro 控件详解

🎬【Unity-UGUI控件全面解析】| TextMeshPro控件详解一、组件介绍二、组件属性面板三、代码操作组件四、组件常用方法示例4.1 Font Asset Creator 面板介绍4.2 制作中文字体库五、组件相关扩展使用5.1 软化/扩张 效果5.2 描边效果5.3 投影效果5.4 光照效果5.5 外发光效果💯…

5.25 费解的开关

思路&#xff0c;枚举 开关按下两次就复原&#xff0c;所以一个开关只有两种情况&#xff0c;按下和不按下&#xff0c;5*5的开关&#xff0c;一共25个开关&#xff0c;一共有2^25种情况&#xff0c;for (int i 0;i < 2^25;i)进行操作&#xff0c;计算按下开关次数&#x…

mac 安装 MongoDB

一.官网下载安装包 1.1 下载安装包 Download MongoDB Community Server | MongoDB 1.2 将下载好的 MongoDB 安装包解压缩&#xff0c;并将文件夹名改为 mongodb&#xff08;可改成自己想要的任何名字&#xff09;。 1.3 按快捷键 Command Shift G 打开前往文件夹弹窗&#…

没有经验能做产品经理吗?

没有经验能做产品经理吗&#xff1f;这是一个经常被讨论的问题&#xff0c;因为很多人想转行成为产品经理&#xff0c;但他们没有相关的工作经验。这里我也给出一些解答。 一、产品经理的职责和技能 首先&#xff0c;让我们看一下产品经理的职责和技能。产品经理是负责产品开…

LeetCode:相交链表(java)

相交链表 题目描述指针法解题 #LeetCode 160题&#xff1a;相交链表&#xff0c;原题链接 原题链接。相交链表–可以打开测试 题目描述 给你两个单链表的头节点 headA 和 headB &#xff0c;请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点&#xff0c;返…

【Python Power BI】零基础也能轻松掌握的学习路线与参考资料

Python和Power BI是现代数据分析和可视化领域中最受欢迎的工具之一&#xff0c;Python是一种高级编程语言&#xff0c;广泛用于数据科学和分析&#xff0c;而Power BI是一种业务智能工具&#xff0c;用于创建交互式大屏幕和实时报表。Python和Power BI的结合使用可以为数据科学…

【布隆过滤器】BitMap与布隆过滤器

1.案例&#xff1a;40亿个QQ号&#xff0c;限制1G内存&#xff0c;如何去重&#xff1f; 40亿个unsigned int&#xff0c;如果直接用内存存储的话&#xff0c;需要&#xff1a; 4*4000000000 /1024/1024/1024 14.9G &#xff0c;考虑到其中有一些重复的话&#xff0c;那1G的…

【P31】JMeter 循环控制器(Loop Controller)

这文章目录 一、循环控制器&#xff08;Loop Controller&#xff09;参数说明二、测试计划设计2.1、设置循环次数2.2、勾选永远2.3、设置线程组的持续时间 一、循环控制器&#xff08;Loop Controller&#xff09;参数说明 可以对部分逻辑按常量进行循环迭代 选择线程组右键 …

探索编程的极限:挑战炫技代码

程序员常常被视为具有超强技术能力的人才&#xff0c;而他们手中的代码也往往充满了令普通人惊叹的炫技操作。作为程序员的我&#xff0c;将和大家分享一些炫技的代码写法 一、编程语言介绍 本人主攻Java。下面我将介绍一下Java语言。 Java是一种广泛使用的高级编程语言&…

chatgpt赋能python:PythonShodan:极具威力的网络搜索引擎

Python Shodan&#xff1a;极具威力的网络搜索引擎 Python是一种流行的编程语言&#xff0c;被许多开发人员用来创建各种类型的应用程序和工具。其中一个强大的工具是Shodan&#xff0c;它是一个网络搜索引擎&#xff0c;可以帮助你找到任何与互联网连接的设备或系统。 什么是…

10款提效的在线设计工具推荐

在效率为王的时代&#xff0c;在线设计是设计的未来&#xff0c;为设计师提供了更节省时间、精力和成本的解决方案。 在线设计工具可以通过打开浏览器使用&#xff0c;大多数操作界面比传统设计工具更简单&#xff0c;入门门槛很低。 在这篇文章中&#xff0c;我们精心挑选了…

实验四:MapReduce初级编程实践

1.编程实现文件合并和去重操作 对于两个输入文件&#xff0c;即文件A和文件B,编写MapReduce程序&#xff0c;对两个文件进行合并&#xff0c; 并剔除其中重复的内容&#xff0c;得到一个新的输出文件C。下面是输入文件和输出文件的一个样 例供参考。 输入文件A的样例如下&#…

Tensorflow2基础代码实战系列之CNN文本分类实战

深度学习框架Tensorflow2系列 注&#xff1a;大家觉得博客好的话&#xff0c;别忘了点赞收藏呀&#xff0c;本人每周都会更新关于人工智能和大数据相关的内容&#xff0c;内容多为原创&#xff0c;Python Java Scala SQL 代码&#xff0c;CV NLP 推荐系统等&#xff0c;Spark …

Dubbo源码篇08---依赖注入和AOP在Dubbo中的实现

Dubbo源码篇08---依赖注入和AOP在Dubbo中的实现 引言依赖注入使用实践 Wrapper机制使用实践注意 引言 前面三篇文章&#xff0c;我们从使用到原理&#xff0c;详细分析了一遍Dubbo SPI机制的实现原理: Dubbo源码篇05—SPI神秘的面纱—使用篇Dubbo源码篇06—SPI神秘的面纱—原…

STM8、STM8S003F3P6 双串口通信(IO模拟串口)

背景 这里为什么要写串口通信&#xff0c;因为实际项目上使用了串口&#xff0c;STM8S003F3P6的串口简单啊&#xff0c;不值得一提。本文写的串口确实简单&#xff0c;因为这里我想先从简单的写起来&#xff0c;慢慢的把难的引出来。这里呢&#xff0c;做个提纲说明&#xff0c…

VB一款实现图像浏览的ActiveX控件

利用GDI实现浏览图片的ActiveX控件&#xff0c;功能:支持读取PNG格式的图片&#xff0c;支持鼠标飞轮对图片进行缩放&#xff0c;镜像&#xff0c;移动等功能&#xff0c;其中用到了功能强大的GDI&#xff0c;GDI&#xff0c;对初及vb编程爱好者运用GDI-API有很大的研究价值&am…

超级简单的SSM框架(全注解,源码+分析,看一眼就会)

1.什么是SSM&#xff1f; SSM是Spring、SpringMVC、Mybatis的框架整合。 2.什么是Spring? Spring是一个轻量级的控制反转&#xff08;IoC&#xff09;和面向切面&#xff08;AOP&#xff09;的容器框架。 优点&#xff1a; 1.通过Spring的IOC特性&#xff0c;将对象之间的…

基于关系抽取的相似度计算

文章目录 一、面向冶金设备运维履历的知识图谱构建与语义相似性度量研究二、KG中的实体相似度计算研究研究假设研究方法第一步&#xff1a;特征生成第二步&#xff1a;模型选择 三、基于司法案例知识图谱的类案推荐个人解惑 一、面向冶金设备运维履历的知识图谱构建与语义相似性…

叮咚买菜业绩大幅低于预期,2023年前景堪忧

来源l&#xff1a;猛兽财经 作者&#xff1a;猛兽财经 叮咚买菜2023年第一季度业绩低于预期 叮咚买菜&#xff08;DDL&#xff09;于5月12日公布了2023年第一季度财报。 财报显示&#xff0c;叮咚买菜的收入同比下降了-8%&#xff0c;从2022年第一季度的54.44亿元人民币下滑…

搭建Stm32遇到的问题汇总

问题一&#xff1a;右侧watch窗口无法显示数据动态变化 现象&#xff1a;在main循环中加入累加的数值都不变化 现象2&#xff1a;单步执行卡在如下函数 原因&#xff1a;一般是因为没有用微库进入半主机模式 解决措施&#xff1a; 措施一&#xff1a;打开勾选下面的。 措施二…