首页 / 资讯中心 / 文章详情

RAG 三个核心指标你能分开算、组合归因吗?

RAG 三个核心指标你能分开算、组合归因吗? ★ FEATURED ARTICLE
行业公认的RAG三大核心效果指标为检索召回率RecallK、生成忠实度Faithfulness、端到端答案正确率Answer Correctness三者分别对应检索层、生成层、全链路层通过「控制单一变量 分层独立测算 三维交叉归因」可以彻底解决“效果差但不知道差在哪、优化没方向”的痛点这也是分层解耦评测方法论的核心价值。一、三大核心指标的独立计算方法每个指标必须隔离单一变量、独立链路计算确保指标结果只对应当前层级的能力不受上下游环节干扰。1. 检索召回率RecallK——检索层专属指标核心定义在TopK个召回结果中命中的相关片段数占全部相关片段总数的比例衡量检索系统“有没有把该找的内容找出来”的能力是RAG质量的底座。控制变量原则完全排除生成模型干扰只跑检索链路不经过大模型生成。计算公式RecallK召回结果中相关的片段数量知识库中所有相关的片段总数 RecallK \frac{召回结果中相关的片段数量}{知识库中所有相关的片段总数}RecallK知识库中所有相关的片段总数召回结果中相关的片段数量​计算步骤准备「查询-标准相关片段」黄金标注集每条query人工标注所有必须命中的知识库片段ID。固定索引库、检索参数、TopK值K值必须和生产环境一致通常为5/10。批量执行查询仅输出召回的片段列表不进入生成环节。逐条比对召回片段与标注的相关片段统计命中数量计算整体召回率。补充关联指标PrecisionK召回片段中相关片段的占比衡量噪音率NDCGK综合衡量排序质量不仅看有没有还看排得好不好MRR平均倒数排名衡量第一条相关结果的命中位置注意事项“相关”是语义相关不是字符串完全匹配K值必须与生产环境使用的召回数量一致否则指标无业务参考价值必须固定索引版本与检索参数否则结果不可复现、不可对比。2. 生成忠实度Faithfulness——生成层专属指标核心定义回答中所有原子事实都能被召回上下文支撑的比例衡量生成模型“有没有瞎编、有没有脱离上下文胡说”的能力是幻觉控制的核心指标。控制变量原则完全排除检索质量干扰固定输入同一批召回上下文只跑生成环节。计算公式忠实度回答中有上下文支撑的原子事实数量回答中总的原子事实数量 忠实度 \frac{回答中有上下文支撑的原子事实数量}{回答中总的原子事实数量}忠实度回答中总的原子事实数量回答中有上下文支撑的原子事实数量​幻觉率1−忠实度 幻觉率 1 - 忠实度幻觉率1−忠实度计算步骤原子事实拆解法固定输入上下文统一使用同一批标准召回片段确保每次生成的输入完全一致。原子事实拆解把生成的回答拆解为不可再分的独立事实单元如“2024年营收100亿同比增15%”拆为2个原子事实。逐一校验每个原子事实和召回上下文比对判断是否有明确原文支撑。统计计算统计有支撑的原子事实占比得到整体忠实度。实现方式人工标注准确率最高作为校准基准LLM-as-Judge自动评测基于RAGAS/DeepEval框架用更强的裁判模型批量校验规则校验针对数字、专有名词等强事实字段做规则匹配注意事项忠实度只校验“是否基于上下文”不校验“事实本身是否正确”——如果知识库本身错误忠实度可以很高但答案是错的必须固定召回上下文否则检索漏检会被误判为生成幻觉原子事实粒度越细评测结果越精准整句比对误差极大。3. 端到端答案正确率Answer Correctness——全链路综合指标核心定义最终回答符合业务事实、标准答案与要求的比例衡量RAG系统整体解决问题的能力是用户可感知的最终效果指标。控制变量原则全链路跑通不隔离任何环节模拟真实用户请求。计算公式答案正确率回答完全正确的样本数量总测试样本数量 答案正确率 \frac{回答完全正确的样本数量}{总测试样本数量}答案正确率总测试样本数量回答完全正确的样本数量​计算步骤准备业务黄金测试集每条query标注标准答案、业务验收标准。全链路执行请求输出最终回答。从事实准确性、完整性、合规性三个维度对比回答与标准答案。统计正确样本占比得到整体正确率。实现方式业务专家人工评审准确率最高适合核心场景验收LLM-as-Judge批量评分适合大批量回归、版本对比关键词语义相似度结合适合简单事实类场景注意事项正确率是综合结果可能受知识库错误、检索漏检、生成幻觉、推理不足等多种因素影响必须和业务标准对齐不能只看语义通顺要区分“完全正确”“部分正确”“错误”三个等级避免二分式判断过于粗糙。二、三维组合归因模型通过三个指标的高低组合可以精准定位问题根因所在层级给出明确的优化方向避免盲目调参。标准归因矩阵检索召回率生成忠实度端到端正确率根因定位核心优化方向低70%高≥85%低检索层瓶颈核心信息漏检生成能力再强也没用优化分块策略、Embedding模型、混合检索、重排序高≥85%低70%低生成层瓶颈内容都检索到了但生成时瞎编、偏离上下文、指令遵循差优化系统Prompt、增加事实约束指令、更换生成模型、新增忠实度校验节点高≥85%高≥85%低知识底座/推理瓶颈检索和生成都没问题但知识库本身错误或需要跨文档多跳推理修正知识库内容、补充推理链路、优化答案整合策略、增加多片段融合能力低低低全链路整体短板底座能力全面不足从数据索引层开始逐层优化先补召回再提生成高高高质量优秀全链路达到预期维持基线持续监控长尾场景与边界问题中70%-85%高中检索边际瓶颈召回进入平台期继续投入收益低评估投入产出比优先优化生成或补充知识覆盖进阶量化贡献度归因在分层数据基础上可以进一步量化每个环节对最终正确率的贡献固定生成能力不变提升召回率观察正确率提升幅度得到检索贡献度固定召回能力不变提升忠实度观察正确率提升幅度得到生成贡献度剩余部分为知识底座与推理能力的贡献。通过贡献度量化可以明确优化的投入产出比优先做贡献度高、成本低的优化项。三、基于 EvalScope 1.8.0 Langfuse v2.42.0 的工程化落地结合你之前提到的工具栈可以实现三个指标的自动分层计算与自动组合归因无需人工统计。1. EvalScope 侧分层执行 指标自动计算分层任务配置在EvalScope中配置三层独立评测任务检索层任务仅调用检索接口输入黄金查询集自动计算RecallK、PrecisionK、NDCG生成层任务传入固定上下文片段集仅调用生成接口自动计算忠实度、幻觉率、指令遵循率端到端任务全链路调用自动计算答案正确率、业务解决率变量控制每层任务固定输入集确保单一变量基准对比自动对比基线版本输出各指标的提升/劣化幅度2. Langfuse 侧链路追踪 根因定位节点级埋点检索节点、生成节点分别打独立Span标签记录每个节点的输入输出、耗时、Token指标回写通过API将EvalScope计算出的分层指标回写到对应Trace的元数据与评分中一键归因失败用例直接跳转对应Trace逐层回放节点输入输出快速确认是检索漏了还是生成错了Bad Case沉淀不合格Trace一键导入数据集标注根因类型持续补充测试集3. 自动归因实现通过简单的规则配置即可实现自动归因设定三个指标的分级阈值高/中/低每次评测完成后自动匹配归因矩阵输出根因层级、优化优先级、建议方向关联对应Trace链接方便直接复盘四、常见误区避坑变量不隔离混着算算忠实度时用真实检索结果每次检索都不一样导致忠实度波动大无法判断是检索还是生成的问题。必须固定上下文。K值不匹配评测用Recall20生产实际用Top5指标好看但没有业务价值。K值必须和生产环境一致。原子事实粒度过粗整句比对忠实度误差极大。必须拆解到不可再分的原子事实。归因绝对化非黑即白只找一个原因实际很多问题是多层叠加的需要逐层优化验证。用正确率代替一切只看端到端正确率不做分层指标出问题完全不知道优化方向。
阅读完成 · 觉得有帮助?
咨询建站