RAG评估指标2026:忠实度、相关性、上下文精确度

🤖 智能体 2026-08-11 · 更新于 2026-10-19 约 11 分钟阅读

RAG回答感觉还行,但怎么证明检索真的帮上忙?准确率这类指标测不出RAG错在哪一环,需要能拆分阶段的指标。

📜 目录

RAG评估指标2026:忠实度、相关性、上下文精确度

固定测试集上的准确率只告诉你"答对了没有",不告诉你为什么对、为什么错。RAG 的失败有两种完全不同的形态:检索返回了错误的上下文,或者模型手里有正确上下文却没用。这两种病要用不同的指标治,混在一起测,你永远不知道该改检索还是改提示词。

一、为什么准确率不够用

一个 RAG 系统有两条链路:检索和生成。它们的失败模式是正交的。

准确率把两者混成一个数字,你只知道"不好",不知道"哪不好"。所以 RAG 评估的核心思路是分层:先单独评检索质量,再单独评生成质量。

二、四个核心指标

指标 衡量什么 抓哪种失败 通常期望
忠实度 Faithfulness 答案里每个论断是否都能被检索上下文支持 幻觉、超纲发挥 0.8 以上
答案相关性 Answer Relevancy 答案是否真的在回答这个问题 答非所问、绕圈子 0.7 以上
上下文精确度 Context Precision 检索回来的片段里有多少真正被用到 检索噪音太多 0.5 以上
上下文召回率 Context Recall 该找到的信息是否都找到了 漏检 0.7 以上

忠实度是 RAG 最重要的指标。做法是把答案拆成若干论断,逐条检查能否在上下文中找到依据。它和市场宣传的"准确性"不同:一个答案可以完全忠实但答非所问,也可以听起来很对但毫无依据。

答案相关性用反向生成的方式评估:拿生成的答案让模型反推可能的问题,看反推问题与原问题的相似度。绕圈子的答案在这里会露馅。

上下文精确度看排序质量:有用的片段是否排在前面。噪音片段挤在前面,模型被误导的概率就高。

上下文召回率需要标准答案做参照,衡量该检索到的内容有没有被检索出来。它是最需要人工标注的指标。

三、RAGAS:把人工评分换成模型评分

RAGAS 是目前最常用的开源 RAG 评估框架,核心思路是用一个强模型当裁判,按上面的维度给每条样本打分。好处是几乎不需要人工标注,当天接入当天就能得到分数。

安装与最小用法:

pip install ragas datasets

数据结构要求四条:问题、生成的答案、检索到的上下文列表、标准答案(可选,评召回率时需要)。

from datasets import Dataset
from ragas import evaluate
from ragas.metrics import (faithfulness, answer_relevancy,
                           context_precision, context_recall)

data = Dataset.from_dict({
    "question": ["退货政策是多少天?"],
    "answer": ["30天内可无理由退货,需保留包装。"],
    "contexts": [["本店支持30天无理由退货,商品需保持包装完整。"]],
    "ground_truth": ["30天无理由退货,需包装完整。"],
})

result = evaluate(data, metrics=[faithfulness, answer_relevancy,
                                 context_precision, context_recall])
print(result)

实际使用时把上面四条换成你的系统真实输出,一次跑 100-200 条就能看出问题在哪一环。注意裁判模型本身需要一定能力,用小模型当裁判会引入偏差,结论要么偏松要么偏严。

四、阈值与告警

分数不用追满分,要看趋势和断点。经验阈值:

现象 可能原因 先改什么
忠实度 < 0.8 模型在忽略上下文自由发挥 收紧提示词,要求"只依据给定资料"
上下文精确度 < 0.5 检索太吵,噪音压过信号 收紧分块、加重排、减少 top-k
召回率 < 0.7 该找的没找到 改分块策略、加混合检索(关键词+向量)
相关性 < 0.7 问题理解偏了 加查询改写,或补多轮上下文

最重要的原则是一次只改一环。忠实度低的时候改分块,等于在错误的层次上折腾。

五、双轨测试:离线加线上

离线:维护一个 100-200 条的黄金集,覆盖典型问题和边界情况,每次改动前后各跑一次。这是防止回归的安全网。

线上:每周从真实查询里随机抽 50 条,用裁判模型打分。真实分布和你的测试集永远不一样,这一步能发现测试集没覆盖的坑。

两条轨道缺一不可。只做离线会和真实用户脱节,只做线上则无法判断改动是不是引入了回归。

六、常见坑

裁判模型偏差:同一个模型既生成又评分,会偏向自己的输出风格。尽量用不同的模型做裁判。

上下文太长:把整篇文档塞给裁判,它容易挑出无关片段当依据,精确度虚高。按实际进入提示词的内容评。

测试集泄漏:黄金集的问题如果出现在训练或提示词示例里,分数会虚高,上线就打回原形。

单指标优化:把忠实度刷到 0.95 但相关性掉到 0.5,等于训练了一个只会照抄上下文的系统。四个指标要一起看。

七、没有标准答案怎么起步

很多团队没有人工标注的 ground truth。这时候先只跑忠实度、答案相关性、上下文精确度三个不需要标准答案的指标,它们已经能定位大部分问题。召回率可以等有了标注再补。

另一条路是用强模型生成候选标准答案,人工抽查修正 20%,成本远低于全人工标注。

常见问题

Q:RAGAS 一定要用 OpenAI 的模型吗? A:不必须,可以配本地模型或其他 API 模型。裁判模型能力越强,评分越可靠,但成本和延迟也越高。

Q:分数波动很大怎么办? A:增加样本量,取多次运行的平均值。100 条以下的样本,单次评分噪声足以让结论翻转。

Q:RAG 和微调需要不同的评估吗? A:需要。微调主要看任务指标(准确率、格式合规率),RAG 主要看上面四个分层指标。

Q:评估很贵怎么办? A:离线全量跑、线上抽样跑。也可以先用便宜模型粗筛,只对可疑样本用强模型复评。

注:RAGAS 的指标名与接口随版本变化,具体用法以官方文档为准;阈值是经验值,需按你的业务调整。

相关文章

延伸阅读 · 含推广链接

API 账单分散在几家平台时,续费和管理都费神。合到一个账号下,成本和额度一眼看得清。

合并到一个账号 →

相关文章
2026-07-27
最佳AI代理框架
2026-07-22
2026年AI智能体成本分析
2026-07-17
AI Agent优先级调度:VIP用户的请求先处理
2026-07-17
AI Agent指标采集:Prometheus+Grafana监控Agent状态
2026-07-16
AI Agent审计日志:Agent干了什么,一查就知道
2026-07-16
2026年AI API价格对比:GPT-4o/Claude/DeepSeek哪个最划算?

本站文章由编辑人工撰写,收录的工具均经过实测或公开资料核验。文中链接指向工具官网或 GitHub 仓库,仅作信息参考,不构成付费推广。

💬 评论 (0)

暂无评论,来说两句吧~

登录后评论