首页/AI/RAG 与向量库速查/归因评估(Attribution)

归因评估(Attribution)

归因评估检查答案中的每条陈述能否追溯到给定片段:常用 RAGAS 的 faithfulness、Attributed QA 等思路;报告按“完全支撑 / 部分支撑 / 不支撑”分层统计,比单一分数更能定位问题。

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

归因评估在测什么

归因评估检查答案中的每条陈述能否追溯到给定的检索片段:常见做法参考 RAGAS 的 faithfulness 与 Attributed QA,把回答拆成句子,逐句判断是否被上下文支撑。报告按「完全支撑、部分支撑、不支撑」分层统计,比只给一个总分更能定位问题类型——完全支撑比例低说明模型爱自由发挥,部分支撑比例高则往往意味着数字或条件被改写。

基本信息

评估对象回答中每一句陈述与给定上下文的关系
分层标签完全支撑、部分支撑、不支撑
常用方法RAGAS 的 faithfulness 思路、Attributed QA 类做法
输出形式分层比例加典型样例,而不是单一分数

典型使用场景

  • 上线前体检:确认回答里的数字与条件都来自检索片段
  • 问题归因:区分是检索没给到材料,还是模型自行编造
  • 回归对比:提示词或模型改动后看分层比例的变化
  • 高风险场景抽检:医疗、法务类回答逐句核对出处
  • 规则迭代:根据「不支撑」的典型样例优化提示词与校验规则

分层统计示例

分层统计示例
stats = {"full": 0, "partial": 0, "none": 0}
for sent in split_sentences(answer):
    label = judge_attribution(sent, chunks)   # full / partial / none
    stats[label] += 1
print(stats)      # 关注 none 的比例,并保存典型样例供人工复核
# 分层结果按批次汇总,便于观察改动的长期效果

分层含义与原因

标签含义常见原因
完全支撑陈述能在上下文中找到依据正常情况
部分支撑有出处但细节被改写数字、单位、适用范围被加工
不支撑上下文中没有依据模型编造或引入外部常识
无法判断上下文未覆盖该主题检索没命中,属召回问题
数字、条件与时间限定的错误最容易出现在「部分支撑」:引用存在但数值被改写,所以这部分样例要重点人工复核。
归因评估依赖判定器质量:无论是模型判定还是人工标注,都要先用一批人工标注样本对齐口径,再批量运行,否则分层比例只是看上去客观。

易错点

  • 只看整体分数不看分层样例,改进无从下手
  • 把「部分支撑」按完全支撑放过,数字错误被漏掉
  • 判定器未与人工标注对齐,分层比例不可信
  • 评测只在离线跑,线上回答是否同样忠实无人监控

数据来源与参考

  • Es et al., RAGAS: Automated Evaluation of Retrieval Augmented Generation (arXiv:2309.15217)
  • Bohnet et al., Attributed Question Answering (arXiv:2212.08037)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌