进阶应用 高级

RAG 评估与优化:命中率、忠实度与幻觉检测

用检索命中率与答案忠实度量化 RAG 质量,建立"检索层 + 生成层"分开诊断的优化方法。

分两层诊断

RAG 回答不好,先判断是没检到还是没答好

  • 检索层指标:Hit Rate(正确片段是否进 Top-K)、MRR(正确片段的排名倒数均值);
  • 生成层指标:忠实度(Faithfulness,答案是否只依据检索内容)、答案相关性(是否回应了问题)。

忠实度检测的简化实现

让评估模型逐句判断答案是否被资料支持:

faithfulness_prompt = """以下是资料和回答。逐句判断回答是否完全由资料支持,
输出 JSON:{{"supported": [...], "unsupported": [...]}}
资料:{context}
回答:{answer}"""

unsupported 非空即存在幻觉风险。

优化手段对照表

  • Hit Rate 低 → 查询改写 / 换 embedding / 调 chunk 大小与重叠;
  • 检到了但答错 → 改提示词(强调只依据资料)、减少片段数量、加引用要求;
  • 幻觉多 → 降低 temperature、提示词加"资料没有就说不知道"、上线引用溯源。

持续迭代闭环

线上坏 case → 归因(检索 or 生成)→ 修复 → 加入评测集 → 回归验证。评测集是团队最重要的资产之一。

📝 课后练习

quiz-1 RAG 检索层指标 Hit Rate 衡量的是?