丑梨AI 完成业务升级:高性能文档压缩 × RAG 数据工程基座了解新业务 →

RAG评测三层指标:语料级检索级生成级

结论先行:RAG 评测要分三层——语料级看数据干不干净,检索级看找得准不准,生成级看答得对不对。三层各有一组指标,合起来才是一把完整的尺子。

一、为什么需要三层

只盯生成质量是最常见的评测误区。回答错了,可能是检索没找对块,也可能是数据本身解析残缺,还可能是模型没有忠实于上下文。三种病因对应三种药,混在一起就无从下手。没有分层,每次优化都凭感觉:改了切片参数,回答好像好了一点,但说不清是哪一环起了作用,也不知道别的环节有没有被改坏。

分层的价值在于可归因。语料级指标定位数据问题,检索级指标定位召回问题,生成级指标定位模型问题。任何一次变更,先看哪一层的指标动了,就知道该改哪里、有没有改对。评测从上线前的一次性验收,变成持续的诊断仪表。

二、语料级:数据干不干净

语料级指标衡量入库前的质量:解析完整度、表格结构率、OCR 精度、脱敏覆盖率、权限命中率。这一层决定知识库的地基。地基不稳,上层检索和生成怎么调,都在补偿数据缺陷。行业经验是约 80% 的 RAG 效果问题源于数据处理不当,语料级指标就是把这类问题变成可度量的对象。

举个典型例子:一份财报 PDF 解析完整度偏低,表格被拍平成散落文本,检索层再怎么调,问营业收入也只能拿到残缺片段。丑梨AI 的三层解析质检在入库时按结构、关系、内容打分——443 页 OFD 版式文档全流程解析后得 0.924 分,结构层满分。数字要在入库阶段拿到,而不是等用户点踩之后回头猜。

三、检索级:找得准不准

检索级用信息检索的经典指标:HitRate@K 看前 K 个里有没有正确答案,Recall@K 看召回比例,MRR 看首个正确结果排名的倒数,NDCG@K 看考虑排序位置的相关性。它们直接反映向量检索与混合检索的效果,是调参时最该盯的一组数字。

这层指标最能说明实际问题。在 A 股投研语料上做检索冒烟,000001、000002 各十问全部 10/10 命中;叠加时间过滤后,17,590 条候选被压到 829 条,约 95.5% 的过期文档被挡在外面。没有检索级指标,这些结论只能靠人工翻检索结果,既慢又不可复现。

层级核心指标
语料级解析完整度 / 表格结构率 / OCR 精度 / 脱敏覆盖率 / 权限命中率
检索级HitRate@K / Recall@K / MRR / NDCG@K
生成级Faithfulness / AnswerRelevancy / ContextPrecision

四、生成级:答得对不对

生成级衡量模型输出:Faithfulness 看是否忠于检索到的上下文,是对抗幻觉的主指标;AnswerRelevancy 看是否切题;ContextPrecision 看喂进去的上下文是否精准。这一层承接前两层——语料干净、检索准确,生成级才有讨论价值。

用户最终感知的质量就在这一层。前两层都好而生成级差,通常是提示词或模型的问题;生成级差而 ContextPrecision 高,说明模型没有忠实利用上下文,优先查幻觉。归因到层,才谈得上归因到因,否则只能反复换模型碰运气。

五、让评测跑成闭环

指标不是跑一次就完事。切片规则、清洗规则任何变更都应该自动重跑评测并与基线对比,这是回归门禁在做的事,详见 回归门禁;评测迭代会产生大量重复嵌入,靠 DiskEmbeddingCache 磁盘嵌入缓存把这部分成本降到零,评测才跑得起、跑得勤,见 磁盘嵌入缓存

评测集本身也要生长:用户点踩的坏样本经过归因回流成新的评测用例,指标走势进仪表盘持续跟踪。评测由此从上线前的一次验收,变成贯穿知识库生命周期的日常动作。

评测是持续优化的核心。检索级指标怎么提见 混合检索Cross-Encoder 精排;归因方法见 回归门禁与控制变量实验

真实场景:一条可复现的评测基线

指标体系只有配上基线才能驱动优化。ashare-web 的做法值得参照:用固定查询集跑检索冒烟(000001、000002 各 10 个查询,要求 10/10 命中),000002 十问端到端 4.6 秒作为延迟基线;youzi 系统的评测集以 hit_rate / MRR / precision 为核心指标持续记录。两层系统共同点是——基线一旦建立,任何切片、清洗、检索参数的变更都要对着数字说话。

跑评测的成本问题由 DiskEmbeddingCache 解决:磁盘嵌入缓存 + 模型一致性校验,评测迭代零重复嵌入成本,回归评测才能做到「每次变更都跑」而不是「偶尔想起来跑」。指标体系建好后,下一个问题是如何防止效果回退,见RAG 回归门禁与控制变量实验;完整案例的数据链路,见金融投研 RAG 实战

常见问题 FAQ

Q1:RAG 评测为什么要分三层?

只盯生成质量会掩盖上游问题:回答错了,可能是检索没找对,也可能是解析残缺。分层之后,每次指标波动都能归因到具体环节,优化才有方向。

Q2:检索级用什么指标?

HitRate@K 看前 K 是否含正确答案,Recall@K 看召回比例,MRR 看首个正确结果排名的倒数,NDCG@K 看考虑排序位置的相关性,直接反映检索效果。

Q3:生成级三个指标分别看什么?

Faithfulness 看是否忠于检索上下文、对抗幻觉;AnswerRelevancy 看回答是否切题;ContextPrecision 看喂入的上下文本身是否精准。三个合看才能定位生成问题。

Q4:语料级指标包含哪些?

解析完整度、表格结构率、OCR 精度、脱敏覆盖率、权限命中率。它们衡量入库前的数据质量,是知识库的地基,问题要在这层解决而不是留给检索层。

需要搭建企业级 RAG 知识库?了解丑梨AI

私有化部署的 RAG 数据工程基座:解析、清洗、脱敏、压缩、切片、治理、评测一站式流水线,全本地推理,数据不出域,单机可部署。