验证 RAG 引用:从来源存在到主张支持的深度解析
引用标识符仅证明来源已被检索,而非证明其支持特定主张。本文通过假设的政策示例,详细介绍了如何将答案分解为原子主张、定位支持段落,以及如何将检索检查与 groundedness(基于事实的可靠性)检查区分开来,以确保 RAG 系统的输出真实可靠。
本文内容
简明答案
要验证 RAG 引用,首先需要将“来源标识符是否存在”的机械检查与“被引用段落是否实际支持该主张”的语义检查分开。将答案分解为原子主张,在每个被引用的来源中定位确切的支持文本,并判断是否存在蕴含关系。标记缺失证据和冲突的来源。使用结构化检查清单,并意识到自动化的 groundedness 指标可能会忽略细微的不匹配。
将链接与证据区分开
引用标记需要核查,并不能证明模型检索或阅读了正确的段落。首先将标记与实际提供的检索上下文对应,确认它指向一个存在的来源片段。然后判断该片段是否支持具体主张。在假设示例中,来源 A 允许未使用的商品在 14 天内退货,来源 B 对制造缺陷提供 12 个月的保障。即使引用标记正确,来源 A 也不支持所有已使用商品都能退款的主张。
将答案分解为原子主张
为了系统地验证支持情况,应将答案分解为独立的客观事实陈述。微软的提示工程文章建议指示模型为每个主张引用来源,这使得分解工作更加容易。对于示例答案“您可以在 30 天内退回所有已使用物品”,原子主张为“退回所有已使用物品”和“在 30 天内”。每个主张可能由不同的来源支持,或者完全没有支持。将答案分解为主张可以防止出现部分支持的答案被整体接受的情况。分解后,您可以独立地将每个主张与其引用的来源进行比对。
定位支持段落
对于每个主张,在引用的来源中找到旨在支持它的确切文本。在示例中,主张“退回所有已使用物品”引用了来源 A。来源 A 的文本是“未使用物品可在 14 天内退货”。文中没有提到已使用物品,因此不存在支持段落。然而,如果主张是“未使用物品可在 14 天内退货”并引用来源 A,则与来源文本直接匹配。这一步骤要求阅读来源内容,而不仅仅是检查来源标识符是否出现。评估文章描述了使用自然语言推理来确定主张是否基于上下文的 groundedness 计算方法,这在一定程度上实现了这种匹配的自动化。
追踪受支持与不受支持的主张
在假设示例中,来源 A 支持未使用商品可在 14 天内退货的主张,但同一段落不支持所有已使用商品都能退款的主张。因此,引用目标正确不代表主张能从段落中推出。逐条检查主张,包括条件、数量和期限,并区分缺乏支持的规则扩展与上下文明示矛盾的信息。
处理缺失证据
当一个主张没有引用,或者被引用的来源缺乏相关信息时,即为缺失证据。提示工程文章建议,当上下文无法完全回答问题时,应指示模型说明缺失哪些信息。在示例中,如果答案包含“退回所有已使用物品”且没有任何来源支持,则该主张因证据缺失而得不到支持。审核员应将其标记,并检查模型是否应该回答“我不知道”或进行澄清。评估指标中的完整性(completeness)衡量查询的所有部分是否都得到了回答;一个缺失证据的主张可能会使完整性看起来比实际更高,而 groundedness 却保持在低水平。
处理来源冲突
检索到的片段可能包含矛盾的信息。提示工程文章明确指示:“如果提供的来源包含冲突信息,请呈现两种观点并引用各自的来源。”例如,如果来源 A 说 14 天内退货,而来源 B 说 30 天,答案应同时承认两者。如果答案在不告知的情况下仅选择其中一个,这就是一个 groundedness 问题,因为它忽略了部分上下文。如果答案选择了错误的来源,评估文章中的正确性指标可能会受到影响。在审核时,请检查答案是透明地呈现冲突,还是在没有正当理由的情况下解决了冲突。
记录实用审核清单
为每项主张记录引用、确切的支持段落和判断结果。区分来源缺失或不相关,以及段落存在但不支持主张的情况。若来源冲突,记录冲突并检查回答是否解释了它。文末的检查清单概括了这些步骤。
理解自动化验证器的局限性
自动依据性检查可以发现不受支持的主张,但分数不是保证。检查模型可能漏掉改变的条件、否定或错误的期限。上下文支持与事实正确性也不同:回答可以忠实重复错误或过时的来源,仍然以该来源为依据。反过来,来自上下文之外的正确事实可能得不到当前上下文的支持。直接核查重要的主张与段落,并另行评估来源的可靠性、日期和适用范围。本文的政策片段是假设示例,不是已执行检索实验的结果。
检查清单
- 验证每个引用标识符是否与检索到的来源片段匹配。
- 对于每个主张,在被引用的来源中定位旨在支持它的确切段落。
- 评估主张是否被段落逻辑蕴含,而不仅仅是被提及。
- 将缺乏任何支持段落的主张标记为不受支持。
- 当来源冲突时,检查答案是否承认冲突或默默选择其中一个。
- 将检索质量(来源是否存在)与 groundedness(语义支持)分开。
- 使用结构化清单审查每个主张-来源对。
- 意识到自动化的 groundedness 指标可能会忽略细微的不匹配。
适用范围
自动化 groundedness 指标可能无法捕捉所有语义不匹配;高风险决策需要人工审核。示例使用了假设的政策片段,而非真实的检索结果。