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

news2024/10/6 22:29:06

原文: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作为统一的规划者和执行者的设计可以简化多智能体系统的架构,提高系统的一致性和效率。
    :::

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

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

相关文章

vue3中通过vditor插件实现自定义上传图片、录入echarts、脑图、markdown语法的编辑器

1、下载Vditor插件 npm i vditor 我的vditor版本是3.10.2,大家可以自行选择下载最新版本 官网:Vditor 一款浏览器端的 Markdown 编辑器,支持所见即所得(富文本)、即时渲染(类似 Typora)和分屏 …

RT-Thread Studio实现静态线程

1创建项目 (STM32F03ZET6) RT-Thread项目与RT-Thread Nano 项目区别 RT-Thread: 完整版:这是RT-Thread的完整形态,适用于资源较丰富的物联网设备。功能:它提供了全面的中间件组件,如文件系统、网络协议栈、…

MS31011低压 5V DC 电机驱动

MS31011 是一款低压 5V 直流电机驱动芯片,为摄像机、消 费类产品、玩具和其他低压或者电池供电的运动控制类应用提 供了集成的电机驱动解决方案。 MS31011 能提供高达 0.8A 的输出电流。可以工作在 2.0~5.5V 的电源电压上。 MS31011 具有 PWM &#x…

比特币生态系统的现状与流动性提升的新路径

自2009年中本聪发布比特币白皮书以来,比特币一直被誉为“数字黄金”,在加密货币领域占据着不可动摇的地位。其去中心化、稀缺性和安全性,增强了其作为长期价值储存工具的吸引力。 相比之下,以太坊自2015年问世以来,凭…

oceanbase数据库安装和连接实战(阿里云服务器操作)

本文主要是安装oceanbase的单机版进行数据库的基础使用,oceanbase的数据库是兼容mysql数据库的,实际的兼容程度需要更深度的测试,本文主要是安装oceanbase并使用SQLynx的mysql驱动连接使用oceanbase数据库。 目录 1. 基础介绍 2. 安装说明 …

CentOS 7.9下安装配置Java环境

1.下载java安装包 下载java安装包 我已经给大家准备好了,下载连接 https://pan.baidu.com/s/1GK_juIc5rch0Kc4-EbxNNQ 提取码: 0124 2.创建目录 mkdir /usr/local/soft 3.解压压缩包到安装目录 tar xf jdk-8u401-linux-x64.tar.gz -C /usr/local/soft/ 4.配置环…

Strava VS Keep竞品分析

Strava VS Keep竞品分析 一、背景: 随着国民对身体健康的重视程度逐步增加,跑步、游泳、骑行在国内逐渐流行,人们都加入运动行列。随之不可缺少的则是对运动数据的记录,市面上针对此需求的app层出不穷,日活最多的5款…

成都爱尔巫雷院长提醒老花眼减轻了?可能患上白内障要注意!

到年龄不可避免的身体老化,眼睛也是其中之一,40、50岁时眼睛因为老化可能出现老花问题,如果本就有近视、散光,老花加重更是“雪上加霜”。 当某一天老花症状减轻,别顾着高兴,反而应引起重视,这…

IMX6ULL SD卡启动uboot+kernel+rootfs

目录 1. 背景说明 2.SD卡启动 2.1准备条件 2.2 对SD卡分区格式化 2.3 制作sd卡镜像 3.效果测试 1. 背景说明 网络上绝大数教程,教大家把uboot烧录到SD卡,然后uboot启动后,通过TFTP下载kernel和设备树,然后通过nfs挂载文件系…

Hi3861 OpenHarmony嵌入式应用入门--LiteOS semaphore作为锁

CMSIS 2.0 接口中的 Semaphore(信号量)是用于嵌入式系统中多线程或中断服务例程(ISR)之间同步和共享资源保护的重要机制。Semaphore 是一种用于控制对多个共享资源访问的同步机制。它可以被看作是一个计数器,用于跟踪可…

采购OLED透明屏指南

一、引言 OLED透明屏作为一种前沿的显示技术,以其独特的透明度和出色的显示效果,受到了众多行业的青睐。在采购OLED透明屏时,需要综合考虑多个因素,以确保选择到符合需求的高质量产品。以下是一份详细的采购OLED透明屏指南&#x…

智领全栈,模力全开|2024中国智算中心全栈技术大会,锐捷网络引爆智算网络新风潮

6月25日至27日,2024中国智算中心全栈技术大会暨展览会、第5届中国数据中心绿色能源大会暨第10届中国(上海)国际数据中心产业展览会在上海新国际博览中心隆重开幕。此次大会由CDCC和益企研究院主办,以“AI赋能,重构未来”为主题,吸…

kettle 安装9.0版本 建议设置为英语

0.新建转换的常用组件 0. Generate rows 定一个字符串 name value就是字符串的值 0.1 String operations 字段转大写 去空格 1. Json input 来源于一个json文件 1.json 或mq接收到的data内容是json字符串 2. Json output 定义Jsonbloc值为 data, 左侧Fieldname是数据库查…

镜头下的光学

说实话,当我看到几何光学的内容全是初中的解析几何的时候,我就觉得讲的方式太原始了,而且太过复杂也看不懂。所以我尝试做了数学建模,发现建模之后模型可以解释一些物理现象,也不会有矛盾的地方,那就算过得…

软件测试学习笔记丨JUnit5执行顺序

本文转自测试人社区,原文链接: https://ceshiren.com/t/topic/28025 指定顺序使用场景 测试用例有业务逻辑相关集成测试(主流程测试) 排序方式 方法排序类排序Suite官方网站没有明确说明默认排序的具体规则 方法排序的类型 方法排序-Order 注解指定排序 …

2024最新three.js在vue中的使用(保姆级手把手教程)

2024最新three.js在vue中的使用(保姆级手把手教程) 一、three.js介绍 Three.js 是一个跨浏览器的脚本,使用 JavaScript 函数库或 API 来在网页浏览器中创建和展示动画的 三维计算机图形。写这篇文章也是因为目前越来越多的3dweb出现&#x…

数据模拟接口

因项目需要,使用FastAPI框架编写了一个简单的HTTP API服务,用于生成短信发送记录和短信回复记录。 is_valid_phone_numbers函数用于验证手机号码列表的格式是否正确。current_time_str函数返回当前时间的字符串表示,可选参数format用于指定时…

聚乙烯醇(PVA)涂布型薄膜是高阻隔性包装材料 我国市场增长快速

聚乙烯醇(PVA)涂布型薄膜是高阻隔性包装材料 我国市场增长快速 聚乙烯醇(PVA)涂布型薄膜,是以其他塑料薄膜(主要是双向拉伸薄膜)为基材,以聚乙烯醇为涂料,经表面涂布后制…

推荐5个国内宝藏级物联网平台

随着物联网技术的快速发展物联网平台正成为企业和个人开发者构建智能系统的首选。这些平台以其灵活性、成本效益和强大的社区支持,为用户提供了快速开发和部署物联网解决方案的新途径。本文将介绍几款市场上流行的物联网平台,以及它们各自的技术优势和核…

昇思25天学习打卡营第1天|基本介绍与快速入门

先贴上打卡截图 基本介绍 首先来看基本介绍,昇思MindSpore是华为的一个全场景深度学习框架,属于昇腾AI全栈的一部分。 总体架构如下图所示(来自官方学习材料) 从对底层多样性硬件适用的Runtime到应用层面的Model Zoo、科学计算…