带记忆的超级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进行纠错、审查。

方法是将当前视觉输入与一系列预定义的错误文本进行匹配,输出最相似的错误类型,帮助规划器模块快速找到错误所在。这种方法比简单的像素对比判断故障类型更加精准和通用。
本文素材来源卡内基梅隆大学论文,如有侵权请联系删除
相关文章:
带记忆的超级GPT智能体,能做饭、煮咖啡、整理家务!
随着AI技术的快速迭代,Alexa、Siri、小度、天猫精灵等语音助手得到了广泛应用。但在自然语言理解和完成复杂任务方面仍然有限。 相比文本的标准格式,语音充满复杂性和多样性(例如,地方话),传统方法很难适应不同用户的…...
易点易动设备管理系统提升设备能耗管理和设备状态监控效率
如今,能源效率和设备状态监控对于企业来说变得越发重要。传统的设备管理方式往往存在能耗浪费和难以实时监控设备状态的问题。为了解决这些问题,易点易动设备管理系统应运而生。本文将介绍易点易动设备管理系统的功能和优势,以及如何通过它提…...
【idea】解决idea 执行maven build总下载 Downloading maven-metadata.xml文件
可以看到如下日志中打印了执行的命令行,其中包含 --update-snapshots,是强制更新的意思。 日志内容如下: D:\env\jdk1.8.0_261\bin\java.exe --update-snapshots -s D:\env\apache-maven-3.8.6\conf\settings.xml -Dmaven.repo.localD:\env\…...
HttpClient发送MultipartFile多文件及多参数请求
1、环境准备: <dependency><groupId>commons-httpclient</groupId><artifactId>commons-httpclient</artifactId><version>3.1</version></dependency><dependency><groupId>org.apache.httpcomponent…...
TMUX设置鼠标滚轮滑动来浏览之前的前面内容
在Ubuntu上使用Tmux有时使用鼠标滚轮时,和平时使用终端的习惯不怎么一致,因此可以设置启用鼠标滚轮。 通过鼠标滚轮滑动来浏览之前的前面内容 具体方式: 1 按完前缀ctrlB后 2 再按冒号:(记得shift) 3 进入命令行模式(下方绿色栏变…...
「go查漏补缺」命名规则以及 GROM 结构体的应用
概述: 在学习GORM过程中,总是在调用结构体和文件导入这里出错,所以整理了以下文档用于梳理变量/结构体命名规则和import导入的知识点 一、变量/结构体命名规则 变量/结构体都遵守同样的命名规则:可见性由首字母大小写决定 大写…...
Django 集成 Celery 实现高效的异步任务处理
概要 在复杂的 Web 应用中,处理长时间运行的任务或定期任务是一项挑战。Django 作为一个强大的 Python Web 框架,可以通过集成 Celery 这一异步任务队列来优化这些任务的处理。Celery 不仅能提高应用性能,还能改善用户体验。本文将深入探讨如…...
Java之异常(上):基本异常体系
一、背景引入: Java中的异常是指:Java程序在运行时可能出现的错误或非正常情况。例如:在程序中试图打开一个根本不存在的文件,在程序中除0等。异常是否出现:通常取决于程序的输入、程序中对象的当前状态以及程序所处的…...
你的关联申请已发起,请等待企业微信的管理员确认你的申请
微信支付对接时,需要申请AppID,具体在下面的位置: 关联AppID,发起申请时,会提示这么一句话: 此时需要登录企业微信网页版,使用注册人的企业微信扫码登录进去,然后按照下面的步骤操作即可。 点击…...
.nvmrc 文件使用详解
文章目录 1. 前言2. .nvmrc 是什么3. 创建 .nvmrc 文件4. 使用 .nvmrc 文件5. 终端自动切换版本 1. 前言 当开发多个项目时,每个项目运行环境要求的 node 版本不一样,那么我们就需要给每个项目指定 node 版本,也就是通过终端执行 nvm install…...
深度学习之基于YoloV5抽烟检测系统
欢迎大家点赞、收藏、关注、评论啦 ,由于篇幅有限,只展示了部分核心代码。 文章目录 一项目简介 二、功能三、系统四. 总结 一项目简介 基于YOLOv5(You Only Look Once)的抽烟检测系统可以用于实时检测图像或视频中是否存在抽烟行…...
解释器模式 (Interpreter Pattern)
定义 解释器模式(Interpreter Pattern)是一种行为型设计模式,用于定义一种语言的语法表示,并提供一个解释器来处理这种语法。这种模式用于实现语言解释器,通常用于专业领域或复杂文本处理中。在解释器模式中ÿ…...
【bug】uniapp的image组件渲染gif图,只有第一次点击的时候有动效,需要每次点击都有gif效果,已解决
前两天遇到的问题,暂时没有解决,就搁置了。 不解决又难受,还好今天解决了,记录下 需求: 两个gif图,分别代表点击之后的男生和女生,并且有两个静态的男生和女生图片 当男生静态图被点击的时候切…...
ubuntu编译sqlite3并使用
SQLite3是一种轻量级的关系型数据库管理系统,它是在C语言基础上实现的。SQLite3具有许多优点,例如: 1.灵活:它可以在多种操作系统上运行,并且可以将多个数据库文件合并成一个文件。 2.易于使用:SQLite3使用…...
【OpenCV+OCR】计算机视觉:识别图像验证码中指定颜色文字
文章目录 1. 写在前面2. 读取验证码图像3. 生成颜色掩码4. 生成黑白结果图5. OCR文字识别6. 测试结果 【作者主页】:吴秋霖 【作者介绍】:Python领域优质创作者、阿里云博客专家、华为云享专家。长期致力于Python与爬虫领域研究与开发工作! 【…...
【ROS 2 进阶-MoveIt!】MoveIt!中的关键节点
所有内容请查看:博客学习目录_Howe_xixi的博客-CSDN博客 原文档链接:Docs...
-bash: jps: command not found
背景 服务器的jdk通过yum 安装的,要用jps查询pid,提示找不到命令 yum install -y java-1.8.0-openjdk.x86_64 一、jps命令无法找到 [devhgh-tob-hsbc-dev-003 ~]$ jps -bash: jps: command not found 二、检查基础Java环境 [devhgh-tob-hsbc-dev-003 ~]…...
[CLickhouse] 学习小计
1.建表 正常按照如下语句进行建表,但会报错说缺少ORDER BY 或 PRIMARY KEY CREATE TABLE omds.a (x String COMMENT ,y String COMMENT ,z String ) ENGINE MergeTree(); 若我们仅需建一个没有主键的表,直接使用如下建表语句即可: CREATE…...
一款非常优秀的项目管理工具:进度猫(推荐)
在项目管理中,一个好的工具可以极大地提高效率。 进度猫是一款非常优秀的项目管理工具。它具有非常强大的功能,可以帮助团队更好地管理项目进度。 通过可视化的方式,将项目进度、任务分配、需求变更等全面呈现给团队成员,让团队…...
Bert学习笔记(简单入门版)
目 录 一、基础架构 二、输入部分 三、预训练:MLMNSP 3.1 MLM:掩码语言模型 3.1.1 mask模型缺点 3.1.2 mask的概率问题 3.1.3 mask代码实践 3.2 NSP 四、如何微调Bert 五、如何提升BERT下游任务表现 5.1 一般做法 5.2 如何在相同领域数据中进…...
KubeSphere 容器平台高可用:环境搭建与可视化操作指南
Linux_k8s篇 欢迎来到Linux的世界,看笔记好好学多敲多打,每个人都是大神! 题目:KubeSphere 容器平台高可用:环境搭建与可视化操作指南 版本号: 1.0,0 作者: 老王要学习 日期: 2025.06.05 适用环境: Ubuntu22 文档说…...
UE5 学习系列(二)用户操作界面及介绍
这篇博客是 UE5 学习系列博客的第二篇,在第一篇的基础上展开这篇内容。博客参考的 B 站视频资料和第一篇的链接如下: 【Note】:如果你已经完成安装等操作,可以只执行第一篇博客中 2. 新建一个空白游戏项目 章节操作,重…...
[2025CVPR]DeepVideo-R1:基于难度感知回归GRPO的视频强化微调框架详解
突破视频大语言模型推理瓶颈,在多个视频基准上实现SOTA性能 一、核心问题与创新亮点 1.1 GRPO在视频任务中的两大挑战 安全措施依赖问题 GRPO使用min和clip函数限制策略更新幅度,导致: 梯度抑制:当新旧策略差异过大时梯度消失收敛困难:策略无法充分优化# 传统GRPO的梯…...
【Java学习笔记】Arrays类
Arrays 类 1. 导入包:import java.util.Arrays 2. 常用方法一览表 方法描述Arrays.toString()返回数组的字符串形式Arrays.sort()排序(自然排序和定制排序)Arrays.binarySearch()通过二分搜索法进行查找(前提:数组是…...
vue3 字体颜色设置的多种方式
在Vue 3中设置字体颜色可以通过多种方式实现,这取决于你是想在组件内部直接设置,还是在CSS/SCSS/LESS等样式文件中定义。以下是几种常见的方法: 1. 内联样式 你可以直接在模板中使用style绑定来设置字体颜色。 <template><div :s…...
如何为服务器生成TLS证书
TLS(Transport Layer Security)证书是确保网络通信安全的重要手段,它通过加密技术保护传输的数据不被窃听和篡改。在服务器上配置TLS证书,可以使用户通过HTTPS协议安全地访问您的网站。本文将详细介绍如何在服务器上生成一个TLS证…...
【android bluetooth 框架分析 04】【bt-framework 层详解 1】【BluetoothProperties介绍】
1. BluetoothProperties介绍 libsysprop/srcs/android/sysprop/BluetoothProperties.sysprop BluetoothProperties.sysprop 是 Android AOSP 中的一种 系统属性定义文件(System Property Definition File),用于声明和管理 Bluetooth 模块相…...
基于Docker Compose部署Java微服务项目
一. 创建根项目 根项目(父项目)主要用于依赖管理 一些需要注意的点: 打包方式需要为 pom<modules>里需要注册子模块不要引入maven的打包插件,否则打包时会出问题 <?xml version"1.0" encoding"UTF-8…...
从零实现STL哈希容器:unordered_map/unordered_set封装详解
本篇文章是对C学习的STL哈希容器自主实现部分的学习分享 希望也能为你带来些帮助~ 那咱们废话不多说,直接开始吧! 一、源码结构分析 1. SGISTL30实现剖析 // hash_set核心结构 template <class Value, class HashFcn, ...> class hash_set {ty…...
06 Deep learning神经网络编程基础 激活函数 --吴恩达
深度学习激活函数详解 一、核心作用 引入非线性:使神经网络可学习复杂模式控制输出范围:如Sigmoid将输出限制在(0,1)梯度传递:影响反向传播的稳定性二、常见类型及数学表达 Sigmoid σ ( x ) = 1 1 +...
