带记忆的超级GPT智能体,能做饭、煮咖啡、整理家务!

随着AI技术的快速迭代,Alexa、Siri、小度、天猫精灵等语音助手得到了广泛应用。但在自然语言理解和完成复杂任务方面仍然有限。

相比文本的标准格式,语音充满复杂性和多样性(例如,地方话),传统方法很难适应不同用户的自定义语言,因此,语音助手需要针对固定领域设计语义解析方案,而无法对完全开放的语言进行建模。

为了解决这一难题,卡内基梅隆大学的研究人员基于大语言模型、视觉模型开发了HELPER。

该模型采用了检索增强的大语言模型提示方法,可以将人机对话、指令和错误纠正转换为一系列参数化的视觉运动

同时在成功执行指令后,HELPER会将语言指令和执行计划作为记忆进行存储。

当用户再次提出类似请求时,HELPER会自动检索相关记忆并进行适当修改来满足新的要求,从而实现个性化交互。

在TEACh的实验数据显示,从对话中推断步骤的测试中,HELPER的任务成功率和目标条件成功率分别提高了1.7倍和2.1倍,超过了之前最好的模型。在从历史对话中执行任务中,HELPER也取得了绝佳的效果。

开源地址:https://github.com/Gabesarch/HELPER

论文地址:https://arxiv.org/abs/2310.15127

图片

研究人员用物理模拟的方式展示了多个示例,HELPER可以进行洗锅、煮咖啡、做面包、整理卡片、制作饮料等一系列拟人化操作,并且你只需要详细的告诉它一次就能记住你的需求,以后无需多说就能照着做。

图片

从论文内容来看,HELPER的技术架构主要由规划器、执行器和视觉语言模型三大块组成。

规划器

该模块利用检索增强的大语言模型来进行语义解析和生成一系列执行计划,同时配备了一个文本到程序的外部记忆存储器,相当于该模型的“大脑”。

在进行语言解析时,规划器会先基于当前语言的输入,使用大语言模型的编码器计算输入文本的向量表示,然后检索出记忆库中语义最相关的若干条记录,将其中的文本-程序对作为LLM的文本示例,随后让LLM生成新的程序。

图片

生成的程序使用Python语言描述,涵盖一系列参数化的视觉运动函数,如pickup(X)、goto(X)等,同时也负责处理执行失败后的重新规划。

例如,当某个动作执行失败时,系统会调用外部的视觉语言模型来分析失败原因并生成文本反馈, 规划器随后会根据反馈提示LLM生成修正后的新程序。

此外, 规划器也会在任务成功执行后,将用户指令语言和对应的执行程序加入记忆库中,实现个性化学习。

执行器

该模块主要负责解析规划器生成的程序,并基于当前环境执行指令操作,具体操作如下:

图片

场景解析器:构建环境的语义地图、占用地图,以及通过目标检测跟踪对象信息。

动作执行器:将程序中的函数调用翻译成具体的导航和操作动作执行。

前提检查器:在执行每个动作前,验证必要的前提条件是否满足。

位置检查器:当需要找到不在场景地图中的目标物体时,该模块会提示LLM生成可能的搜索位置。

简单来说,执行器模块相当于HELPER的“四肢”,用来执行具体的内容。

视觉语言模型

当具体计划执行失败时,系统需要分析失败原因。所以,HELPER使用了视觉语言模型ALIGN进行纠错、审查。

图片

方法是将当前视觉输入与一系列预定义的错误文本进行匹配,输出最相似的错误类型,帮助规划器模块快速找到错误所在。这种方法比简单的像素对比判断故障类型更加精准和通用。

本文素材来源卡内基梅隆大学论文,如有侵权请联系删除

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

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

相关文章

P5 C++循环(for,while)

前言 C中当说循环的时候,通常指的是 for 循环和 while 循环。 简单来说,循环是当我们写代码时,需要多次执行同样的操作的时候使用,循环其实很简单。 比如,如果我们想打印 Hello World 5 次,我们可以复制…

vscode-insiders Remote-SSH XHR failed无法访问远程服务器

问题概述: destFolder/home/apple/.vscode-server-insiders > destFolder2/vscode-cli-05cd2640ec8a106a4ee99cb38e6ee34fbec04f11.tar.gz > 194f252f7426:trigger_server_download_end > Waiting for client to transfer server archive... > W…

(c语言)偶然发现的易错点

1.scanf函数中的占位符是严格调用的&#xff0c;占位符是什么类型就只会读取相应类型。 2.printf函数和参数调用时则会发生截取和扩展来转化为相应类型 &#xff08;1&#xff09;字符型参数以整形输出 #include<stdio.h> int main() {char p a;printf("%d&quo…

python实战—核心基础1(高考倒计时)lv1

目录 一、核心代码解释 二、代码 三、运行截图 一、核心代码解释 1、datetime模块 Python有一个名为datetime的模块&#xff0c;用于处理日期和时间。 datetime模块中定义的一个类是datetime类。 可以使用now()方法创建一个包含当前本地日期和时间的datetime对象。 impo…

科技界年度大戏剧情终结:Open AI宣布ChatGPT创始人奥特曼回归

就在刚刚&#xff0c;在Sam Altman在X平台表示&#xff1a; 我喜欢 Openai&#xff0c;过去几天我所做的一切都是为了让这个团队及其使命保持一致。当我决定在周日晚上加入微软时&#xff0c;很明显这对我和团队来说是最好的道路。在新董事会和 w satya 的支持下&#xff0c;我…

咖啡馆配送小程序商城效果如何

咖啡馆在部分地区数量多且准属性客户多&#xff0c;在其它地方也有不少线下门店&#xff0c;近些年随着客户普遍线上消费&#xff0c;传统依赖线下自然流量的门店生意增长困难。 线上已然成为商家优选方式&#xff0c;那么通过【雨科】平台搭建咖啡馆小程序可以做到哪些效果呢…

了解CCC认证流程,确保产品合规通过

CCC认证是指中国强制性产品认证制度&#xff0c;也是中国国家质量监督检验检疫总局实施的一项重要认证制度。对于想要在中国市场销售的产品来说&#xff0c;CCC认证是必不可少的步骤。本文将详细介绍CCC认证的流程&#xff0c;帮助您了解并确保产品顺利通过认证。 第一步&#…

代码随想录算法训练营第28天|93.复原IP地址 78.子集 90.子集II

JAVA代码编写 93 .复原IP地址 有效 IP 地址 正好由四个整数&#xff08;每个整数位于 0 到 255 之间组成&#xff0c;且不能含有前导 0&#xff09;&#xff0c;整数之间用 . 分隔。 例如&#xff1a;"0.1.2.201" 和 "192.168.1.1" 是 有效 IP 地址&…

Differences between package.json and pnpm-lock.yaml

1.pnpm-lock.yaml 是pnpm包管理工具生成的确保依赖包的版本在所有的环境里面都相同对依赖包的任何操作都会更新在该文件中&#xff0c;因此&#xff0c;需要确保提交到代码仓库中。包含了解析的依赖项和版本号。如下图&#xff1a; 2.package.json 列出应用所需的依赖和元数…

Java Class 类文件格式看这一篇就够了

本文将揭开Java Class文件的神秘面纱&#xff0c;带你了解Class文件的内部结构&#xff0c;并从Class文件结构的视角告诉你&#xff1a; 为什么Java Class字节码文件可以“写一次&#xff0c;遍地跑”&#xff1f;为什么常量池的计数从1开始&#xff0c;而不是和java等绝大多数…

AQS和ReentrantLock还能这样理解?

1.公平锁和非公平锁 1.1含义 公平锁:在竞争环境下&#xff0c;先到临界区的线程比后到的线程一定更快地获取得到锁。非公平锁:先到临界区的线程未必比后到的线程更快地获取得到锁。 1.2如何自我实现 公平锁实现&#xff1a;可以把竞争的线程放在一个先进先出的队列上。只要…

防止恶意攻击,服务器DDoS防御软件科普

作为一种恶意的攻击方式&#xff0c;DDoS攻击正以超出服务器承受能力的流量淹没网站&#xff0c;让网站变得不可用。近几年&#xff0c;这种攻击持续增多&#xff0c;由此优秀服务器DDoS防御软件的需求也随之增长。那么如何选择服务器DDoS防御软件&#xff0c;从根本上根除DDoS…