Skip to content
🔗 分享本题
查看我的学习进度 →

RAG 幻觉按未检索证据、错误证据、冲突过期和模型脱离证据分类治理图

🧠 记忆锚点:先分清没证据、错证据、冲突证据还是没用证据;低温度不能补回缺失证据,覆盖不足应澄清或拒答。

💡 答案要点

幻觉来源分类:

幻觉类型原因示例
检索幻觉检索内容不相关,模型自行编造问A知识,找到B知识,模型混用
融合幻觉多个 chunk 信息矛盾,模型错误融合文档A说10%,文档B说20%,模型说15%
过度推断幻觉模型超出检索内容范围推断文档说"可能",模型断言"一定"
记忆幻觉模型用训练记忆覆盖检索内容检索到最新数据,模型仍用旧知识

对应解决方案:

全链路治理框架(面试体系化回答):

从上游到下游,从源头到兜底:

1. 检索侧(源头):混合检索+Chunk优化+Rerank
   → 保证送给模型的上下文准确,从源头减少幻觉

2. 生成侧(过程):Prompt强约束+Few-Shot示例
   → 无答案直接说不知道、禁止编造、关键信息必须和原文一致

3. 校验侧(兜底):事实一致性校验+引用溯源
   → 不合格的拦截重生成

4. 迭代侧(长效):bad case 回流机制
   → 线上幻觉案例回流,持续优化检索和Prompt

关键数字强校验(金融/政务场景加分):

金融场景对数字、政策条款要求极高:
- 提取答案中的关键数字/条款,与检索原文比对
- 不一致 → 拦截重生成或明确标注
- 例:答案中"利率3.85%"必须能在原文中找到对应表述

bad case 回流闭环(面试加分):

线上反馈幻觉案例 → 人工标注 → 归因(检索错/生成错)
→ 检索错:优化Chunk/Embedding/Query改写
→ 生成错:优化Prompt/加校验规则
→ 回归测试 → 上线
展开 Python 代码示例(34 行)
python
class HallucinationGuard:
    """幻觉防护三层体系"""

    # Layer 1: 预防 - 让模型只能基于检索内容回答
    SYSTEM_PROMPT = """
    你只能根据提供的<context>内容回答问题。
    如果context中没有相关信息,回答"根据现有资料无法回答该问题"。
    不要推断或补充context中没有的信息。
    每个关键论断必须引用对应的context片段。
    """

    # Layer 2: 检测 - 答案与来源的一致性验证
    async def check_faithfulness(
        self, answer: str, sources: list[str]
    ) -> float:
        """RAGAS Faithfulness 评估:答案有多少来自检索内容"""
        prompt = f"""
        判断以下答案中的每个陈述是否能从来源文本中找到依据。
        答案:{answer}
        来源:{sources}
        输出 JSON: {{"faithful_score": 0.0-1.0, "unsupported_claims": []}}
        """
        result = await llm.complete(prompt)
        return result["faithful_score"]

    # Layer 3: 兜底 - 低置信度转人工
    async def safe_answer(self, query: str, context: list) -> str:
        answer = await llm.generate(query, context)
        score = await self.check_faithfulness(answer, context)

        if score < 0.7:
            # 置信度低 → 明确告知不确定
            return f"基于现有资料,{answer}(注:该回答置信度较低,建议人工核实)"
        return answer

实际指标目标:

幻觉率(Faithfulness < 0.7 的比例):< 5%
RAGAS Faithfulness 均值:> 0.85
无法回答率(主动拒答):5-15%(合理范围,优于编造)

面试话术:

"RAG 幻觉我用三层防护:1) Prompt 层约束模型只能引用 context 内容,未找到时主动说'无法回答';2) 低 Temperature(0.1-0.2)让模型保守生成;3) RAGAS Faithfulness 指标持续监控,评分<0.7 的回答标记为低置信度并转人工审核。生产环境幻觉率控制在 3% 以内。"

📚 参考:RAG 原论文(基于证据生成降低幻觉)