在商业环境中,决策过程通常涉及数据分析,以选择最合适的方案来实现特定目标。
- 例如,制药公司Pfizer可能需要决定哪些工厂应该运营或停止,以及每个工厂应该雇佣多少员工,以最小化生产成本并保持准时交付。
- 这一过程通常分为三个步骤:制定分析计划、检索必要数据、基于数据做出决策。
- 其中最困难的部分就是,人类需要制定分析决策
planRAG的目标是用LLM替代人类角色,实现整个决策过程的自动化。
PlanRAG

决策问答(Decision QA)任务

决策问答任务要求模型,根据给定的决策问题Q、业务规则R和遵循模式S的结构化数据库D,生成最佳决策dbest。
- Q包含用户希望通过决策实现的目标
- R包含用于推理dbest的公式文本描述。
- 数据库D可能是一个标记属性图(LPG)数据库或关系数据库(RDB)。
- 由于数据库D通常太大,无法一次性输入到LM中,因此假设LM通过提出数据分析查询来检索数据
决策流程

PlanRAG技术通过三个步骤来解决决策问答任务:
- 计划(Planning)
- 检索与回答(Retrieving & Answering)
- 重新计划(Re-planning)。
其中:
- 在计划步骤中(红色区域),LLM将<Q,S,R>作为输入,然后生成用于数据分析的初始计划。 初始计划描述了一系列数据分析,这些分析对于决策是必要的,因此需要在检索步骤中执行。
- 在检索与回答步骤中,LM根据初始计划生成数据分析查询,通过SQL或Cypher查询语言执行这些查询,查询结果被迭代地用于推理是否需要重新计划或只是进一步检索以更好地进行决策。 通过向计划过程的反向链接,计划和检索过程被迭代地执行,直到LLM确定不再需要进一步分析来做出决策。
- 在重新计划步骤中,如果初始计划不足以解决问题,LM将生成新的计划以进行进一步分析或纠正先前分析的方向。为了使LLM能够决定是否重新计划,提示LLM使用一些指令来评估当前计划,语言模型 (LM) 不仅将<Q,S,R>作为输入,还将当前计划和查询结果作为输入,并生成一个新计划以进行进一步分析,或纠正先前分析的方向。

重新规划的案例分为三类:
- 增加:表示与原始计划相比,重新规划后步骤数量增加
- 相同:表示步骤数量与原始计划的步骤数量相同
- 减少:表示重新规划后步骤数量减少。
每类进一步细分为以下子类:
- 重新排序 包括对步骤序列进行排列的案例。
- 替换 包括用新的步骤替换某些步骤的案例。
- 更改目标 包括更改操作目标(例如查找或计算)的案例。
- 添加查找 包括向原始计划添加新的查找操作的案例。
- 添加计算 包括向原始计划添加新的计算操作的案例。
- 添加两种操作 包括通过单个重新规划过程向原始计划同时添加查找和计算操作的案例。
- 分解为子步骤 包括将原始计划中的单个步骤分解为更详细的动作从而细分为子步骤的情况。
- 删除 包括从原始计划中删除某些步骤的情况。
- 合并 包括将某些步骤总结或合并为单个步骤的情况。
https://arxiv.org/pdf/2406.12430
https://github.com/myeon9h/PlanRAG/tree/master
本文转载自 CourseAI,作者: CourseAI