【LLM之Agent】ReAct论文阅读笔记
研究背景
论文介绍了 “ReAct” 范式,该范式旨在融合推理和行动的功能,通过让大型语言模型(LLMs)生成既包括言语推理轨迹又包括行动序列的输出,解决多种语言推理和决策任务。这种方法允许模型在与外部环境(如Wikipedia)交互时动态地进行推理和调整计划。
研究目标
ReAct的目标是改善LLMs中推理和行动生成的整合,以提升在多样化基准测试中的性能。它试图解决现有模型的局限性,这些模型通常将推理和行动生成分开处理,从而增加在需要这两种认知功能的任务中的效率。
相关工作
该方法与之前只侧重于推理的链式思考提示等方法形成对比。ReAct在整合基于行动的交互方面独树一帜,为涉及外部信息源的问题解决任务提供了更全面的解决方案。
方法论
ReAct采用一种新颖的提示策略,将推理和行动步骤交错使用,并利用如Wikipedia这样的外部API获取实时数据,以辅助决策过程。这种设置允许模型根据最新信息调整其响应,提高准确性和相关性。
ReAct框架结合了结构化提示和微调方法,在更少的数据样本上训练模型,同时实现更高的性能。它利用上下文学习和针对性微调,使模型适应特定任务,而不需要大量数据。
以在wiki上的HotPotQA数据为例:
设计动作空间
论文设计一个简单的维基百科web API三种类型的行动来支持交互式信息检索:
- search[entity],返回前5个句子从相应的实体维基页面如果存在,或者建议5类似实体从维基百科搜索引擎
- lookup[string],这将返回页面的下一个句子包含字符串,模拟Ctrl+F浏览器功能
- finish[answer],这将会用答案来完成当前的任务
这个动作空间大多只能根据确切的段落名称检索到一篇文章的一小部分,这明显比现有的词汇或神经检索器更弱。其目的是模拟人类将如何与维基百科互动,并迫使模型通过语言中的显式推理进行检索。
prompt
问题:科罗拉多造山带东部区域的海拔范围是多少?
行动 1:搜索【科罗拉多造山带】
观察 1:科罗拉多造山带是科罗拉多及周边地区的一次山脉构造活动。
行动 2:查找【东部区域】
观察 2(结果 1 / 1):东部区域延伸至高原平原,称为中部平原造山带。
行动 3:搜索【高原平原】
观察 3:高原平原指两个不同的地区之一:
行动 4:搜索【美国高原平原】
观察 4:高原平原是大平原的一个子区域。从东到西,高原平原的海拔从大约 1,800 英尺升至 7,000 英尺(550 到 2,130 米)。
行动 5:结束【1,800 至 7,000 英尺】
实验
实验设计
实验在四个不同的基准测试上进行:问题回答、事实验证、基于文本的游戏和网页导航。这些测试旨在评估模型在复杂的多组件环境中执行推理和行动生成的能力。
任务类型 | 任务数据集 | 备注 |
---|---|---|
问题回答 | Hot-PotQA | 从英文维基百科收集的 QA 数据集,包含大约113K个群众来源的问题,这些问题需要两篇维基百科文章的引言段落来回答。数据集中的每个问题都有两个黄金段落,以及这些段落中的句子列表,众包工作者认为这些句子是回答问题所必需的支持事实。 |
事实验证 | FEVER | 一个针对文本来源进行事实提取和验证的公开数据集。FEVER(事实提取和验证)由185,445个声明组成,通过修改从维基百科中提取的句子,然后在不知道这些句子的情况下进行验证。声明被分为 Supported,Refuted,NotRnoughInfo,数据是 Json 格式。 |
基于文本的游戏 | ALFWorld | ALFWorld(Shridhar等人,2020b)(图1(2))是一个基于文本的合成游戏,旨在与具体化的阿尔弗雷德基准测试对齐(Shridhar等人,2020a)。它包括6种类型的任务,其中代理需要通过文本操作导航模拟家庭,并与之进行交互(例如去咖啡柜1,取纸2,使用桌面灯1)。 |
网页导航 | WebShop | WebShop是一个模拟的电子商务网站环境,拥有118万个真实世界的产品和12087条众包文本指令。在这种环境中,代理需要浏览多种类型的网页,并发出不同的操作来查找、自定义和购买给定说明的产品。WebShop提供了一些挑战,包括理解组合指令、查询(重新)公式、处理网页中的嘈杂文本以及执行战略探索。 |
实验结论
ReAct在所有测试领域中的性能均优于最先进的基线模型,特别是在传统仅行动模型中表现出色,并在从实时数据交互中受益的任务中显示出显著优势。实验还突出了ReAct提高模型可解释性和可信度的能力,使用户更容易理解并验证模型决策背后的推理。
比如在HotPotQA上的实验结果如下:
参考资料
- 论文
- 代码
相关文章:

【LLM之Agent】ReAct论文阅读笔记
研究背景 论文介绍了 “ReAct” 范式,该范式旨在融合推理和行动的功能,通过让大型语言模型(LLMs)生成既包括言语推理轨迹又包括行动序列的输出,解决多种语言推理和决策任务。这种方法允许模型在与外部环境(…...
LeetCode 125. 验证回文串
更多题解尽在 https://sugar.matrixlab.dev/algorithm 每日更新。 组队打卡,更多解法等你一起来参与哦! LeetCode 125. 验证回文串,难度简单。 双指针 解题思路: 遍历字符串,将所有大写字符转换为小写字符、并移除所…...

IT审计必看!对比旧版,CISA考试改版升级亮点和重点内容是什么?
官方通知,今年8月1日,CISA新版考纲正式上线,旧版在7月23日后就无法约考了。 艾威培训邀请了国内知名的IT审计CISA授课老师吴老师来为大家详细讲解CISA新版考纲的变化 目前第28th版教材只有英文版,中文版尚未发布。我们艾威经验丰…...

充电宝哪个牌子公认质量好?哪家充电宝好用?4款口碑好充电宝
在如今这个电子设备不离手的时代,充电宝成为了我们生活中的必备品。然而,面对市场上琳琅满目的充电宝品牌和型号,选择一款质量可靠、性能出色的充电宝并非易事。大家都在问:充电宝哪个牌子公认质量好?哪家充电宝好用&a…...
Python实现图像添加水印的方法
1. 简介 在日常图像处理中,为图片添加水印是一项常见任务。有多种方法和工具可供选择,而今天我们将专注于使用Python语言结合PIL库批量添加水印。 需要注意的是,所选用的图片格式不应为JPG或JPEG,因为这两种格式的图片不支持透明…...

MemFire Cloud: 一种全新定义后端即服务的解决方案
在这个快节奏的互联网时代,开发者们最希望的就是能够省时省力地完成项目,快速上线。然而,搭建服务、开发接口API、处理各种后端问题,往往让人头疼不已。别担心,现在有了MemFire Cloud,一款为懒人开发者量身…...

职业教育软件测试实验实训室建设应用案例
在信息化高速发展的今天,软件测试作为保障软件质量的关键环节,其重要性日益凸显。为满足职业教育对软件测试人才的培养需求,提高学生的实践能力和职业素养,唯众倾力打造了一款先进的软件测试实验实训室,并成功应用于多…...

如何判断一个js对象为数组类型
如何判断一个js对象为数组类型? 能想到的最常见的intanceof是吗?开始是这么认为,但是不是哈,看下面的解释,也没有太明白,暂且记住吧 综上,判断js对象为数组的两种方式 Array.isArray([]) // trueObject.prototype.toString.call([]) ‘[object Array]’ //true...

Nacos2.X 配置中心源码分析:客户端如何拉取配置、服务端配置发布客户端监听机制
文章目录 Nacos配置中心源码总流程图NacosClient源码分析获取配置注册监听器 NacosServer源码分析配置dump配置发布 Nacos配置中心源码 总流程图 Nacos2.1.0源码分析在线流程图 源码的版本为2.1.0 ,并在配置了下面两个启动参数,一个表示单机启动&#…...
phpstudy框架,window平台,如何开端口给局域网访问?
Windows平台上使用phpstudy框架开端口给同事访问,主要涉及到几个步骤:查看并确认本机IP地址、配置phpstudy及网站项目、开放防火墙端口以及确保同事能够通过局域网访问。以下是详细的步骤说明: 1. 查看并确认本机IP地址 首先,需…...

高性能Python网络框架实现网络应用详解
概要 Python作为一种广泛使用的编程语言,其简洁易读的语法和强大的生态系统,使得它在Web开发领域占据重要位置。高性能的网络框架是构建高效网络应用的关键因素之一。本文将介绍几个高性能的Python网络框架,详细描述它们的特点、使用场景及具体示例代码,帮助高效实现网络应…...

万字学习——DCU编程实战
参考资料 2.1 DCU软件栈(DCU ToolKit, DTK) DCU 开发与使用文档 (hpccube.com) DCU软件栈 DCU的软件栈—DCU Toolkit(DTK) HIP(Heterogeneous-Compute Interface for Portability)是AMD公司在2016年提出…...
Neo4j 图数据库 高级操作
Neo4j 图数据库 高级操作 文章目录 Neo4j 图数据库 高级操作1 批量添加节点、关系1.1 直接使用 UNWIND 批量创建关系1.2 使用 CSV 文件批量创建关系1.3 选择方法 2 索引2.1 创建单一属性索引2.2 创建组合属性索引2.3 创建全文索引2.4 列出所有索引2.5 删除索引2.6 注意事项 3 清…...

《RWKV》论文笔记
原文出处 [2305.13048] RWKV: Reinventing RNNs for the Transformer Era (arxiv.org) 原文笔记 What RWKV(RawKuv):Reinventing RNNs for the Transformer Era 本文贡献如下: 提出了 RWKV 网络架构,结合了RNNS 和Transformer 的优点,同…...
相机光学(二十九)——显色指数(Ra)
显指Ra是衡量光源显色性的数值,表示光源对物体颜色的还原能力。显色性是指光源对物体颜色的呈现能力,即光源照射在同一颜色的物体上时,所呈现的颜色特性。通常用显色指数(CRI)来表示光源的显色性,而显指Ra是…...
【Swoole 的生命周期,文件描述符,协程数量,以及默认值】
目录 Swoole 的生命周期 Swoole 文件描述符(FD)缓存 Swoole设置协程的数量 Swoole 默认值 Swoole 是一个基于 PHP 的高性能网络通信引擎,它采用 C 编写,提供了协程和高性能的网络编程支持。Swoole 支持多种网络服务器和客户端…...
“不要卷模型,要卷应用”之高考志愿填报智能体
摘要:李总的发言深刻洞察了当前人工智能领域的发展趋势与核心价值所在,具有高度的前瞻性和实践性。“大家不要卷模型,要卷应用”这一观点强调了在当前人工智能领域,应该更加注重技术的实际应用而非单纯的技术竞赛或模型优化。个性…...
k8s离线部署芋道源码后端
目录 概述实践Dockerfilek8s部署脚本 概述 本篇将对 k8s离线部署芋道源码后端 进行详细的说明,对如何构建 Dockerfile,如何整合 Nginx,如何整合 ingress 进行实践。 相关文章:[nacos在k8s上的集群安装实践] k8s离线部署芋道源码前…...

图论·Day01
P3371 P4779 P3371 【模板】单源最短路径(弱化版) 注意的点: 边有重复,选择最小边!对于SPFA算法容易出现重大BUG,没有负权值的边时不要使用!!! 70分代码 朴素板dijsk…...
hutool ExcelUtil 导出导入excel
引入依赖 <dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>5.8.15</version></dependency>文件导入 public void savelist(String filepath,String keyname){ExcelReader reader Exce…...

接口测试中缓存处理策略
在接口测试中,缓存处理策略是一个关键环节,直接影响测试结果的准确性和可靠性。合理的缓存处理策略能够确保测试环境的一致性,避免因缓存数据导致的测试偏差。以下是接口测试中常见的缓存处理策略及其详细说明: 一、缓存处理的核…...

《从零掌握MIPI CSI-2: 协议精解与FPGA摄像头开发实战》-- CSI-2 协议详细解析 (一)
CSI-2 协议详细解析 (一) 1. CSI-2层定义(CSI-2 Layer Definitions) 分层结构 :CSI-2协议分为6层: 物理层(PHY Layer) : 定义电气特性、时钟机制和传输介质(导线&#…...

(二)TensorRT-LLM | 模型导出(v0.20.0rc3)
0. 概述 上一节 对安装和使用有个基本介绍。根据这个 issue 的描述,后续 TensorRT-LLM 团队可能更专注于更新和维护 pytorch backend。但 tensorrt backend 作为先前一直开发的工作,其中包含了大量可以学习的地方。本文主要看看它导出模型的部分&#x…...

渗透实战PortSwigger靶场-XSS Lab 14:大多数标签和属性被阻止
<script>标签被拦截 我们需要把全部可用的 tag 和 event 进行暴力破解 XSS cheat sheet: https://portswigger.net/web-security/cross-site-scripting/cheat-sheet 通过爆破发现body可以用 再把全部 events 放进去爆破 这些 event 全部可用 <body onres…...
将对透视变换后的图像使用Otsu进行阈值化,来分离黑色和白色像素。这句话中的Otsu是什么意思?
Otsu 是一种自动阈值化方法,用于将图像分割为前景和背景。它通过最小化图像的类内方差或等价地最大化类间方差来选择最佳阈值。这种方法特别适用于图像的二值化处理,能够自动确定一个阈值,将图像中的像素分为黑色和白色两类。 Otsu 方法的原…...

第一篇:Agent2Agent (A2A) 协议——协作式人工智能的黎明
AI 领域的快速发展正在催生一个新时代,智能代理(agents)不再是孤立的个体,而是能够像一个数字团队一样协作。然而,当前 AI 生态系统的碎片化阻碍了这一愿景的实现,导致了“AI 巴别塔问题”——不同代理之间…...

Module Federation 和 Native Federation 的比较
前言 Module Federation 是 Webpack 5 引入的微前端架构方案,允许不同独立构建的应用在运行时动态共享模块。 Native Federation 是 Angular 官方基于 Module Federation 理念实现的专为 Angular 优化的微前端方案。 概念解析 Module Federation (模块联邦) Modul…...

微服务商城-商品微服务
数据表 CREATE TABLE product (id bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 商品id,cateid smallint(6) UNSIGNED NOT NULL DEFAULT 0 COMMENT 类别Id,name varchar(100) NOT NULL DEFAULT COMMENT 商品名称,subtitle varchar(200) NOT NULL DEFAULT COMMENT 商…...

算法笔记2
1.字符串拼接最好用StringBuilder,不用String 2.创建List<>类型的数组并创建内存 List arr[] new ArrayList[26]; Arrays.setAll(arr, i -> new ArrayList<>()); 3.去掉首尾空格...

Unsafe Fileupload篇补充-木马的详细教程与木马分享(中国蚁剑方式)
在之前的皮卡丘靶场第九期Unsafe Fileupload篇中我们学习了木马的原理并且学了一个简单的木马文件 本期内容是为了更好的为大家解释木马(服务器方面的)的原理,连接,以及各种木马及连接工具的分享 文件木马:https://w…...