首页/AI/RAG 与向量库速查/忠实度(Faithfulness)指标

忠实度(Faithfulness)指标

faithfulness 衡量答案中的事实性陈述有多少能由检索上下文支撑:先拆分答案陈述,再逐条判定是否被上下文蕴含,比值即忠实度;低分意味着幻觉或上下文误用。

RAG 与向量库速查AI更新于 2026-10-13

忠实度是什么

faithfulness 衡量答案中的事实性陈述有多少能由检索上下文支撑:先把答案拆成若干独立陈述,再逐条判断是否被上下文蕴含,有支撑的条数占比即忠实度。它回答的是「这段回答有没有依据」,与「这段回答对不对」是两件不同的事,低分通常指向幻觉或上下文误用。

基本信息

取值范围0 到 1,越高表示越有据可依
输入依赖答案与检索上下文,不需要标准答案
计算方式拆分陈述 + 逐条判断蕴含
依赖模型裁判用 LLM,结果受裁判模型与提示词影响
典型用途回归测试、对比不同提示词与检索策略

单项计算

单项计算
from ragas.metrics import faithfulness
from ragas import evaluate

result = evaluate(dataset, metrics=[faithfulness])
print(result["faithfulness"])   # 0~1,越高越“有据可依”

使用要点

  • 上下文要与线上一致:用检索真正返回的片段,而不是原始文档整段
  • 裁判模型固定版本:指标跨批次对比的前提是评分口径不变
  • 按场景分层统计:制度类与操作类的忠实度水平往往差异明显
  • 与召回指标一起看:召回不足时忠实度可能虚高,因为模型只是少说了很多
  • 对高风险领域设阈值:低于阈值直接转人工,不要自动发出

分数读法

现象可能原因排查方向
忠实度低模型补充了上下文外的内容检查提示词约束与拒答出口
忠实度低且答案简短检索片段本身不相关内容多检查召回质量与切片
忠实度高但用户不满上下文有错或版本过期检查文档时效与过滤条件
分数波动大裁判模型或评测集分布变化固定版本并回看评测集构成
自由文本答案里出于常识补充的内容会被判为不支撑:忠实度衡量的是「依据上下文」,与「实际正确」并不等价,需要与答案正确性类指标配合使用。
上下文本身错误时忠实度反而可能很高:把忠实度当作唯一质量指标,会把错误文档带来的问题完全掩盖。

易错点

  • 把忠实度当准确率:答案完全有据可依但与事实不符时,该指标无法发现
  • 上下文本身有错,忠实度反而良好,问题被掩盖
  • 裁判模型换版本后直接对比历史分数,把口径变化当成效果变化
  • 评测集上下文用整篇原文而非切片,指标与线上表现脱节

数据来源与参考

  • RAGAS 官方文档(Faithfulness)
  • Ji et al., Survey of Hallucination in NLG (ACM CSUR 2023)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌