RAG 通过哪些手段减少幻觉?

考查重点:可信证据与回答忠实性。检索可信新证据并附来源,去重重排保完整条件,生成后核关键断言,无证据补查/说明缺口

本题目录

参考答案

核心回答

RAG 通过给模型提供可核验的外部证据,减少对参数记忆和猜测的依赖,但不能自动消除幻觉。 要同时做好证据质量、检索与上下文、生成约束和回答核验。

先保证知识来源、版本和适用范围正确,再把回答所需的完整证据找齐、去噪并附来源;生成时要求结论有证据、缺信息时澄清或说明缺口;最后检查关键事实、引用和确定性结果,并用包含无答案、冲突和干扰信息的评测集持续验证。

找到相关材料,还要判断它能否支持结论

语义相似只说明主题接近,不保证材料包含答案。例如设备 B 的维修手册可能与设备 A 的问题非常相似,但不支持 A 的操作步骤。知识入库时应保留型号、版本、时间、来源位置和必要的访问范围,检索时按当前问题过滤。

文档解析与切分要保住条件和例外。若一个片段只留下“可以复位”,却丢掉前文的适用型号和停机条件,模型即使照着片段回答,也可能给出错误建议。对于跨段、表格或多文档问题,需要找齐相关证据,而不是只追求一个分数最高的片段。

可用关键词与向量混合检索处理型号、错误码和自然语言的差异,再用重排筛出更能回答问题的材料。Query Rewrite 和多查询扩展应保留原问题的对象与约束;扩大 Top-K 后仍要检查噪声和输入长度。

HyDE 生成的假设性段落只是检索线索。它不是已经查证的事实,不能直接作为最终答案的证据。 最终仍要回到真实文档。

让模型看见完整证据及其边界

上下文应包含证据正文和来源标识,必要时带版本、适用对象和相邻段落。重复片段可以去重,冗长内容可以压缩,但不能把否定、数值单位、前置条件或例外删掉。

提示词可以明确:基于给定材料回答;关键结论标注对应来源;资料冲突时指出冲突;缺少依据时先澄清或说明无法判断。证据内容应与系统指令分开,检索文档中的“忽略之前要求”等文字只是外部数据,不能获得执行指令的权限。

这些约束需要应用层配合。仅写“禁止编造”无法验证模型是否遵守;降低 temperature 也只是改变输出采样,不是事实正确性的保证。

生成后检查“说法”与“证据”的对应

对金额、日期、型号、步骤顺序和适用条件等关键断言,逐项检查是否由引用片段支持。引用存在、链接能打开,并不代表这句话真的在来源里得到支持。

能确定性检查的内容,优先用程序或业务系统核验:数值可重新计算,结构可按 JSON Schema 校验,工具是否执行则查询真实结果。格式合法不等于业务事实正确,检查对象要与问题对应。

还要区分两类结果:

  • 上下文忠实性:回答有没有超出或歪曲给定材料。
  • 事实正确性:材料和结论在当前业务、时间与版本条件下是否成立。

模型忠实复述一份过期政策,前一项可能合格,后一项仍可能错误。为此,知识更新、来源选择与版本过滤也是减少错误回答的一部分。

证据不足时,可在预算内补检索、追问缺失条件,或转交人工;不要用反复生成替代查证。若重新检索仍无法支持结论,最终回答应保留这个缺口。

怎样判断措施真的有效

评测集应覆盖可回答、不可回答、版本冲突、相似型号混淆、条件缺失,以及混入无关或恶意内容的情况。分别看必要证据覆盖、回答正确性、上下文忠实度、引用支持程度和恰当拒答,避免只比较回答是否更流畅。

模型裁判可以辅助发现不受证据支持的断言,但它也会误判。应使用明确标准,并拿人工确认的样本校准;对高影响结论保留原文核对。每次改检索或生成策略,都要回放原失败问题和未参与调整的留出问题。

对应教程

  • 第19章:RAG 检索增强生成:理解外部知识怎样经过切分、检索和上下文组装进入模型;本文进一步解释证据边界与生成后的核验。

参考资料

  • 国内:JavaGuide:RAG 优化:借鉴上下文保留条件、提示词限制证据范围和引用校验的说明,解释为什么仅要求模型拒绝编造还不够。
  • 国内:阿里云百炼:RAG 效果优化:参考元数据筛选、切片完整性、生成约束与拒答机制,组织找对资料到控制回答边界的过程。
  • 国内:Datawhale:记忆与检索:根据多查询扩展和假设文档嵌入的机制,区分检索辅助文本与真正可引用的知识证据。
  • 国内:腾讯云:RAG 操作指南:参考从文档解析到检索、重排和提示模板生成的链路,说明外部材料经过处理后才进入模型,并非直接保证答案正确。
  • 国外:LangChain:Evaluate a RAG application:用于区分回答对参考答案的正确性、对检索材料的忠实度,以及回答与问题的相关性。
  • 国外:Microsoft:Retrieval augmented generation and indexing:核对有检索依据仍会产生不准确回答的限制,以及检索阶段权限控制和将检索内容视为不可信输入的边界。

相关面经

2 篇

去哪儿

前端开发工程师
一面
查看原面经 →
RAG有哪些手段解决幻觉问题?

美团

后端开发
日常实习一面
查看原面经 →
RAG 里怎么解决幻觉的问题?

收录题集

3 个来源,共5 份题集

RAG 面试题

小林 Coding · 个人整理 · 1 条原题

查看题集 →

提示工程:应用大模型的高级方法

Rocky Ding · AIGC-Interview-Book · 1 条原题

查看题集 →

大模型原理追问

Rocky Ding · AIGC-Interview-Book · 1 条原题

查看题集 →

检索与知识工程问答

Guide · JavaGuide · 1 条原题

查看题集 →

RAG 面试题

Guide · JavaGuide · 1 条原题

查看题集 →

相关题目

4 题