RAG | (ACL24规划-检索增强)PlanRAG:一种用于生成大型语言模型作为决策者的规划检索增强生成方法

原文:PlanRAG: A Plan-then-Retrieval Augmented Generation for Generative Large Language Models as Decision Makers
地址:https://arxiv.org/abs/2406.12430
代码:https://github.com/myeon9h/PlanRAG
出版:ACL 24
机构: 韩国科学技术院

1 研究问题

本文研究的核心问题是: 如何利用大型语言模型(LLMs)作为解决需要复杂数据分析的决策问题的方案。

::: block-1
假设一家制药公司需要决定哪个工厂应该继续运营或停止,以及每个工厂应该雇佣多少员工,以在保持按时交付的同时最小化生产成本。这需要分析大量数据并做出复杂的决策。本文研究如何让LLMs能够有效地处理这类决策问题。
:::

本文研究问题的特点和现有方法面临的挑战主要体现在以下几个方面:

  • 决策制定任务需要执行三个步骤:制定分析计划、检索必要数据、基于数据做出决策。现有方法主要关注后两个步骤,但对于制定分析计划这一关键步骤处理不足。
  • 决策问题通常涉及大规模结构化数据库,而现有的检索增强生成(RAG)技术主要针对知识型问答任务,不适合处理复杂的决策问题。
  • 决策过程可能需要多轮数据检索和分析,要求模型能够进行迭代推理和规划。

针对这些挑战,本文提出了一种基于迭代规划的"PlanRAG"方法:

::: block-1
PlanRAG的核心思想是在检索和生成之前先进行规划。可以把它比作一个精明的管理顾问:首先制定分析计划,然后有条不紊地执行数据检索和分析,并在需要时调整计划。具体来说,PlanRAG首先生成一个初始分析计划,然后基于这个计划生成数据分析查询。执行查询后,它会评估是否需要重新规划或进行进一步检索。通过这种方式,PlanRAG能够更有效地处理复杂的决策问题,特别是在需要多轮数据分析的情况下。这种方法的独特之处在于它将规划、检索和生成紧密结合,使LLM能够更系统、更有针对性地进行决策分析。
:::

2 研究方法

2.1 PlanRAG概述

PlanRAG(Plan-then-Retrieval Augmented Generation)是一种新型的检索增强生成技术,旨在解决复杂的决策问题。传统的RAG(Retrieval Augmented Generation)技术在处理需要多步推理的复杂决策问题时往往力不从心。PlanRAG的核心思想是在检索和回答之前先进行规划,并在必要时进行重新规划,从而提高决策的准确性和效率。

举个例子,想象你是一家连锁药店的经理,需要决定在哪个城市开设新店以最大化利润。传统的RAG可能会直接检索各个城市的人口数据,然后基于这些数据做出决策。但是,PlanRAG会先制定一个全面的分析计划,考虑人口、竞争对手情况、潜在客户群等多个因素,然后有条不紊地执行这个计划。

PlanRAG的主要优势在于:

  1. 系统性:通过预先规划,确保考虑到决策所需的所有关键因素。
  2. 灵活性:能够根据新发现的信息动态调整计划。
  3. 效率:有计划的检索和分析可以减少不必要的数据查询,提高决策效率。

2.2 PlanRAG的核心步骤

PlanRAG包含三个核心步骤:规划(Planning)、检索与回答(Retrieving & Answering)以及重新规划(Re-planning)。让我们详细了解每个步骤。

2.2.1 规划(Planning)

在规划阶段,大语言模型(LLM)会根据给定的问题(Q)、数据库模式(S)和业务规则®制定初始分析计划。这个计划描述了为了做出决策需要执行的一系列数据分析步骤。

具体来说,LLM会生成一个类似以下格式的计划:

Plan: [Step 1: requirement 1, Step 2: requirement 2, ..., Step N: requirement N]

举个例子,对于前面提到的药店选址问题,初始计划可能是:

Plan: [
  Step 1: 获取所有可能城市的列表,
  Step 2: 分析每个城市的人口数据,
  Step 3: 调查每个城市现有的药店数量,
  Step 4: 评估每个城市的医疗保健需求,
  Step 5: 分析每个城市的经济状况
]

这个计划为后续的检索和分析提供了清晰的路线图。

2.2.2 检索与回答(Retrieving & Answering)

在这个阶段,LLM会根据制定的计划生成具体的数据分析查询,从数据库中检索信息,并基于检索结果进行推理。

具体来说,对于计划中的每一步,LLM会:

  1. 生成相应的数据库查询
  2. 执行查询并获取结果
  3. 分析查询结果
  4. 决定是否需要进行下一步或重新规划

以药店选址为例,对于计划中的第二步"分析每个城市的人口数据",LLM可能会生成如下SQL查询:

SELECT city_name, population, population_growth_rate 
FROM city_demographics 
WHERE country = 'USA'

然后,LLM会分析查询结果,可能得出类似"城市A和城市B的人口增长率最高,是潜在的好选择"这样的初步结论。

2.2.3 重新规划(Re-planning)

重新规划是PlanRAG的一个关键创新点。当LLM发现初始计划不足以解决决策问题时,它会重新制定计划。这可能发生在以下情况:

  1. 发现了初始计划中未考虑的重要因素
  2. 某些预期的数据不可用
  3. 初步分析结果表明需要更深入的调查

继续我们的药店选址例子,假设在分析过程中,LLM发现城市的医疗政策对药店经营有重大影响,但初始计划中并未考虑这一点。这时,LLM可能会重新规划,添加一个新的步骤:

Re-plan: Y
New Plan: [
  ... (原有步骤)
  Step 6: 研究每个候选城市的医疗政策
]

通过这种动态调整,PlanRAG能够不断优化决策过程,确保最终决策的全面性和准确性。

2.3 PlanRAG与现有RAG技术的对比

PlanRAG在多个方面超越了传统的RAG技术:

  1. 系统性思考:
    传统RAG往往是被动地响应问题,而PlanRAG通过预先规划,能够更系统地思考问题。这就好比是有备而来和临场发挥的区别。
  2. 多步推理能力:
    PlanRAG特别适合需要多步推理的复杂决策问题。传统RAG可能在每一步都重新开始,而PlanRAG能够保持连贯的思路。
  3. 自我纠错机制:
    通过重新规划机制,PlanRAG能够在决策过程中自我纠错和调整。这种灵活性是传统RAG所不具备的。
  4. 效率提升:
    由于有明确的计划指导,PlanRAG能够更有针对性地检索和分析数据,减少不必要的查询,提高决策效率。
  5. 可解释性:
    PlanRAG的决策过程更加透明和可解释。通过查看其规划和重新规划的过程,我们可以更好地理解LLM是如何得出最终决策的。

具体来说,假设我们要为一家跨国公司选择新的总部位置。传统RAG可能会直接检索各个城市的经济数据,然后给出建议。而PlanRAG会先制定一个全面的分析计划,考虑经济、人才、政策、交通等多个因素。如果在分析过程中发现某个城市有特殊的税收优惠政策,PlanRAG还会重新规划,加入对税收政策的详细分析。这种方法更有可能找到真正最优的解决方案。

总的来说,PlanRAG通过引入规划和重新规划机制,显著提升了LLM在复杂决策问题上的表现。它不仅能够做出更好的决策,还能提供清晰的决策路径,这对于实际应用中的决策解释和审核都具有重要意义。

3 实验

3.1 实验场景介绍

本论文提出了一个名为Decision QA的新任务,旨在测试语言模型在决策制定方面的能力。实验场景包括两个主要的决策场景:Locating和Building。Locating场景要求模型决定在哪个贸易节点放置商人以最大化利润,而Building场景则要求模型决定扩建哪个建筑以最大程度降低某种商品的价格。这些场景模拟了现实世界中的商业决策过程,需要模型理解复杂的业务规则并分析大量数据。

3.2 实验设置

  • Datasets:DQA数据集,包含301对⟨Q, D⟩,其中200对用于Locating场景,101对用于Building场景。每个数据库都有RDB和GDB两个版本。
  • Baseline:SingleRAG-LM(基于单次RAG), IterRAG-LM(基于迭代RAG)
  • Implementation details:
    • 所有决策模型都基于GPT-4实现,使用零温度设置
    • 使用LangChain库实现
    • 数据库使用MySQL(RDB)和Neo4j(GDB)
  • Metric:准确率(正确决策的百分比)
  • 环境:实验在配备8个Nvidia A100 (80GB) GPU的单台机器上进行

3.3 实验结果

实验1、主要性能对比实验

目的:评估提出的PlanRAG-LM与其他基线模型在DQA任务上的性能差异
涉及图表:表4
实验细节概述:比较SingleRAG-LM、IterRAG-LM、PlanRAG-LM和PlanRAG-LM w/o RP在Locating和Building两个场景下的准确率
结果:

  • PlanRAG-LM在两个场景中都显著优于其他模型,Locating场景提升15.8%,Building场景提升7.4%
  • 去除重新规划(RP)后,PlanRAG-LM的性能有所下降,说明重新规划过程对提高决策质量很重要

实验2、单次检索(SR)和多次检索(MR)问题分析

目的:探究PlanRAG-LM在不同复杂度问题上的表现
涉及图表:图5
实验细节概述:将DQA问题分为SR和MR两类,比较IterRAG-LM和PlanRAG-LM在这两类问题上的准确率
结果:

  • PlanRAG-LM在SR问题上的提升更为显著,说明它能更好地处理被低估难度的问题
  • 对于MR问题,PlanRAG-LM仍然优于IterRAG-LM,表明其更系统的检索方式更有效

实验3、关系型数据库(RDB)和图数据库(GDB)分析

目的:评估模型在不同类型数据库上的性能
涉及图表:表5
实验细节概述:比较各模型在RDB和GDB两种数据库类型上的准确率
结果:

  • PlanRAG-LM在两种数据库类型上都表现最好
  • 在Building场景中,PlanRAG-LM在GDB上的表现优于RDB,可能是因为GDB更适合处理复杂的多跳查询

实验4、数据分析遗漏率实验

目的:分析模型在关键数据分析上的完整性
涉及图表:表6
实验细节概述:测量IterRAG-LM和PlanRAG-LM在查询或计算关键值时的遗漏率
结果:

  • PlanRAG-LM的遗漏率显著低于IterRAG-LM,表明其更能全面地进行必要的数据分析

实验5、失败案例分析

目的:深入了解模型失败的原因
涉及图表:图6
实验细节概述:将失败案例分类为五种错误类型,比较IterRAG-LM和PlanRAG-LM的失败模式
结果:

  • PlanRAG-LM显著减少了候选选择错误(CAN)和数据分析遗漏(MIS)类型的错误
  • PlanRAG-LM在深度理解(DEEP)错误上略有增加,这可能是减少其他类型错误的副作用

实验6、重新规划分析

目的:评估重新规划过程对PlanRAG-LM性能的影响
涉及图表:表7
实验细节概述:分析PlanRAG-LM进行重新规划的频率和对准确率的影响
结果:

  • Building场景中重新规划更频繁,表明该场景更具挑战性
  • 重新规划次数过多可能导致准确率下降,说明初始规划的质量很重要

4 总结后记

本论文针对复杂业务决策问题,提出了一种名为PlanRAG的新型检索增强生成方法。该方法通过在检索前进行规划,并在必要时进行重新规划,显著提高了大语言模型在决策问题上的表现。作者构建了一个名为DQA的决策问答基准数据集,包含定位和建设两个场景。实验结果表明,PlanRAG在Locating场景中比现有最先进的迭代RAG方法提高了15.8%的准确率,在Building场景中提高了7.4%的准确率。

::: block-2
疑惑和想法:

  1. PlanRAG在更复杂的多步骤决策问题上的表现如何?是否可以扩展到更长期的战略规划任务?
  2. 如何将PlanRAG与其他增强LLM推理能力的方法(如思维链提示)结合,进一步提升决策质量?
  3. 在实际业务场景中,如何确保PlanRAG生成的决策是可解释和可追溯的?
  4. DQA基准是基于游戏数据构建的,它在多大程度上能反映真实世界的商业决策问题?
  5. 是否可以设计一种自适应的规划机制,根据问题的复杂度动态调整规划的粒度和频率?
    :::

::: block-2
可借鉴的方法点:

  1. 将规划步骤集成到RAG框架中的思路可以推广到其他需要多步推理的NLP任务,如多跳问答、复杂推理等。
  2. 构建模拟真实业务场景的基准数据集的方法值得借鉴,可以应用于其他难以获取真实数据的领域。
  3. 利用重新规划机制来处理复杂问题的思路可以扩展到其他AI系统,提高系统的鲁棒性和适应性。
  4. 将决策过程分解为规划、检索、回答等步骤的方法可以应用于构建更透明、可解释的AI决策系统。
  5. 利用LLM作为统一的规划者和执行者的设计可以简化多智能体系统的架构,提高系统的一致性和效率。
    :::

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

MQTT自动回复消息工具

点击下载《MQTT自动回复消息工具V1.0.0》 1. 前言 在进行IoT系统开发时,各个小组成员通常是同步进行项目开发,经常会遇到设备端和前后端开发人员开发进度不协调的情况,此时接口还没开发完,也没有可以调试的环境,只能…

Vue - HTML基础学习

一、元素及属性 1.元素 <p>我是一级标题</p>2.嵌套元素 把元素放到其他元素之中——这被称作嵌套。 <p>我是<strong>一级</strong>标题</p>3.块级元素 块级元素在页面中以块的形式展现&#xff0c;会换行&#xff0c;可嵌套内联元素。 …

RAID详解及配置实战

目录 一、RAID磁盘阵列及详解 1.1 了解RAID 1.1.1 简单理解 1.1.2 对比了解 1.2 RAID磁盘阵列介绍 1.3 RAID功能实现 1.4 RAID实现的方式 1.5 RAID级别详解 1.5.1 RAID -0 1.5.2 RAID -1 1.5.3 RAID -5 1.5.4 RAID -10&#xff08;RAID 10&#xff09; 1.6 阵列卡…

基于Java微信小程序校园自助打印系统设计和实现(源码+LW+调试文档+讲解等)

&#x1f497;博主介绍&#xff1a;✌全网粉丝10W,CSDN作者、博客专家、全栈领域优质创作者&#xff0c;博客之星、平台优质作者、专注于Java、小程序技术领域和毕业项目实战✌&#x1f497; &#x1f31f;文末获取源码数据库&#x1f31f;感兴趣的可以先收藏起来&#xff0c;还…

《Windows API每日一练》6.2 客户区鼠标消息

第五章已经讲到&#xff0c;Windows只会把键盘消息发送到当前具有输入焦点的窗口。鼠标消息则不同&#xff1a;当鼠标经过窗口或在窗口内被单击&#xff0c;则即使该窗口是非活动窗口或不带输入焦点&#xff0c; 窗口过程还是会收到鼠标消息。Windows定义了 21种鼠标消息。不过…

股掌柜:解读全球行情,实时资讯满足全方位投资需求

近年来&#xff0c;随着信息技术的飞速发展&#xff0c;金融交易也逐渐向极速化的方向发展。极速交易成为了投资者们追求高效、稳定、及时的首选。在全球行情实时变动的背景下&#xff0c;了解市场动态和全球资讯成为了投资者们最为看重的需求。只有及时把握市场脉搏&#xff0…

Snipaste--一款截屏神奇分享,桌面置顶显示截图

桌面置顶显示截图! 桌面置顶显示截图! 桌面置顶显示截图! 官网&#xff1a; https://zh.snipaste.com/ 介绍&#xff1a;Snipaste 是一个简单但强大的截图工具&#xff0c;也可以让你将截图贴回到屏幕上&#xff01;下载并打开 Snipaste&#xff0c;按下 F1 来开始截图&#xf…

Hive笔记-6

6.2.8 聚合函数 1) 语法 count(*)&#xff0c;表示统计所有行数&#xff0c;包含null值&#xff1b; count(某列)&#xff0c;表示该列一共有多少行&#xff0c;不包含null值&#xff1b; max()&#xff0c;求最大值&#xff0c;不包含null&#xff0c;除非所有值都是null&a…

CppTest单元测试框架(更新)

目录 1 背景2 设计3 实现4 使用4.1 主函数4.2 使用方法 1 背景 前面文章单元测试之CppTest测试框架中讲述利用宏ADD_SUITE将测试用例自动增加到测试框架中。但在使用中发现一个问题&#xff0c;就是通过宏ADD_SUITE增加多个测试Suite时&#xff0c;每次运行时都是所有测试Suit…

GraphQL:简介

GraphQL 图片来源&#xff1a; 我们将探索GraphQL 的基础知识&#xff0c;并学习如何使用Apollo将其与 React 和 React Native 等前端框架连接起来。这将帮助您了解如何使用 GraphQL、React、React Native 和 Apollo 构建现代、高效的应用程序。 什么是 GraphQL&#xff1f;…

中国智能工厂自动化集成商100强:广东23家,江苏20家,上海浙江紧随其后

导语 大家好&#xff0c;我是社长&#xff0c;老K。专注分享智能制造和智能仓储物流等内容。 新书《智能物流系统构成与技术实践》 更多的海量【智能制造】相关资料&#xff0c;请到智能制造online知识星球自行下载。 在数字化、智能化的浪潮中&#xff0c;中国智能工厂自动化集…

2024年兼职新赛道,我一个插画师给AI打下手,兼职月入3千!

AI生成厉害到什么程度&#xff1f;现在人类已经在为它打下手了。 据一位画手网友分享&#xff0c;他们圈子里已经诞生了全新的工种&#xff01; 虽然乍一看名字别无二致都是“插画师”&#xff0c;但细看工作内容&#xff1a;使用AI绘画然后筛选精修。救&#xff0c;这不妥妥…

小程序中this(1)

}, onLoad: function() {}, }) 此时经过编译后模拟器的显示&#xff1a; 这里都容易理解&#xff0c;当点击了button按钮后&#xff0c;触发点击事件执行testfun函数&#xff0c;将test02设置为8&#xff0c;如图&#xff1a; 通过this.data.test028这种方式直接赋值可以吗&…

如何快速交付网络基础设施运维管理软件项目?

​ 基于nVisual网络基础设施数字孪生管理工具 开发项目需求 项目交付成本节省50%、进度提高100% ​ &#xff1e;&#xff1e;&#xff1e;nVisual主要功能&#xff1c;&#xff1c;&#xff1c; 01 场 景 ★ 支持层次化的场景结构 ★ 支持多种空间场景 ​ 02 规 划 ★ 丰…

[A133]uboot启动流程

[A133]uboot启动流程 hongxi.zhu 2024-6-21 1. 第一阶段 lds描述 从u-boot.lds中能找到程序的汇编入口ENTRY(_start) brandy/brandy-2.0/u-boot-2018/u-boot.lds OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm") OUT…

AU音频重新混合音频,在 Adobe Audition 中无缝延长背景音乐,无缝缩短BGM

导入音频&#xff0c;选中音频&#xff0c;并且点 New Multitrack Session 的图标 设计文件名和存储路径&#xff0c;然后点 OK 点 Essential Sound 面板点 Music &#xff08;如果没有这个面板 点菜单栏 Windows > Essential Sound 调出来&#xff09; 点 Duration 展…

西门子PLC数据 转 CCLink IE Field Basic项目案例

1 案例说明 设置网关采集西门子PLC数据把采集的数据转成CCLink IE Field Basic协议转发给其他系统。 2 VFBOX网关工作原理 VFBOX网关是协议转换网关&#xff0c;是把一种协议转换成另外一种协议。网关可以采集西门子&#xff0c;欧姆龙&#xff0c;三菱&#xff0c;AB PLC&am…

星戈瑞DSPE-FITC在细胞标记中的应用

细胞标记是生物医学研究中的一项基本技术&#xff0c;它允许研究者追踪和观察细胞的行为、分布以及与周围环境的相互作用。在众多的细胞标记方法中&#xff0c;DSPE-FITC因其独特的性质和应用范围而受关注。 DSPE-FITC的基本性质 DSPE-FITC是由二硬脂酰磷脂酰乙醇胺&#xff0…

海云安参编《数字安全蓝皮书 》正式发布并入选《2024中国数字安全新质百强》荣膺“先行者”

近日&#xff0c;国内数字化产业第三方调研与咨询机构数世咨询正式发布了《2024中国数字安全新质百强》&#xff08;以下简称百强报告&#xff09;。海云安凭借在开发安全领域的技术创新力及市场影响力入选百强报告“新质百强先行者” 本次报告&#xff0c;数世咨询经过对国内8…

文心一言使用笔记

目录 让文心一言提炼已有的内容&#xff0c;模仿给出的案例写一段宣传稿方法例子 发现写出的内容有瑕疵&#xff0c;如何微调&#xff1f;比如文心一言介绍的领导不全如何让文心一言检查语法和表达问题&#xff1f; 如何让文心一言将每个片段用一两句话总结&#xff1f;为了防止…