Back to blog
    RAG质量评分:如何在到达用户之前衡量检索准确性
    rag-pipelinequality-scoringobservabilityenterprise-aidata-qualitysegment:enterprise

    RAG质量评分:如何在到达用户之前衡量检索准确性

    糟糕的检索质量意味着糟糕的AI回答——但大多数团队在用户投诉之前没有办法衡量它。以下是如何在节点级别将质量评分构建到RAG管道中。

    EErtas Team·

    大多数RAG管道的构建目标是尽可能快地将数据从源头移动到向量存储再到提示词。速度是默认优先级。质量衡量如果存在的话,只存在于最末端——有人提出问题,得到了错误的回答,然后提交了一个工单。

    到那时损害已经造成。幻觉回答已经到达了生产环境。用户已经失去了信任。而调试问题的团队不得不沿着整个管道反向追溯,找出哪里出了问题。

    监控RAG管道性能的最佳方式不是等待输出端的故障。而是在每个阶段评分质量——解析、分块、嵌入和检索——这样降质在累积成错误答案之前就可以被发现。

    为什么端到端评估不够

    进行RAG质量衡量的团队通常依赖端到端评估:生成一组测试问题,通过管道运行它们,然后对最终答案进行评分。这种方法有实际价值,但有一个根本性的局限。

    当测试问题产生了错误答案时,你知道出了问题。但你不知道是什么。源文档是否被错误解析,丢失了关键表格?分块策略是否在句子中间拆分了段落,破坏了上下文?嵌入模型是否将块放在了向量空间的错误区域?检索器是否返回了第三佳匹配而不是第一佳?

    端到端评估告诉你管道坏了。阶段级质量评分告诉你在哪里坏了。

    阶段1:解析质量

    每个RAG管道都从文档摄取开始——将PDF、HTML页面、电子表格或其他格式转换为干净的文本。这是第一层质量损失发生的地方,而且经常被忽视。

    衡量什么

    **结构完整性。**计算源文档中结构元素(标题、表格、列表、代码块)的数量,然后计算有多少在解析后幸存。一个有12个表格的PDF在解析后产生零个表格元素,其表格的结构完整性得分为0%。这是一个可衡量、可记录的信号。

    **字符级保真度。**比较解析前后的字符计数。一个5,000个字符的文档产生2,100个字符的解析输出,已经丢失了超过一半的内容。标记任何解析输出低于源长度70%的文档。

    **编码错误。**计算解析输出中的乱码字符、mojibake序列或unicode替换字符。即使金融文档中少量的编码错误也可能将"$1,500"变成无用数据。

    实用阈值

    设置最低解析质量分数,将低于该分数的文档路由到审查队列,而不是让它们流入分块阶段。在Ertas中,质量评分节点直接位于解析器节点之后,未达到阈值的文档在管道画布上用视觉指示器标记——可以在节点之间的边上看到元素计数下降。

    阶段2:块质量

    分块是大多数RAG质量问题的根源,但很少被直接衡量。团队选择一个块大小(512个标记、1024个标记)和一种策略(固定大小、递归、语义),并假设它有效。通常并非如此。

    衡量什么

    **语义连贯性。**一个块应该包含一个连贯的想法或密切相关的想法。可以通过分别嵌入每个块的前半部分和后半部分并测量余弦相似度来近似。高相似度意味着块内部连贯。低相似度意味着块边界切穿了主题转换的中间。

    **边界质量。**检查块是否在自然边界处开始和结束——句子结尾、段落分隔、章节标题。以句子中间开始的块(例如,"...因此责任延伸到")几乎肯定会检索效果不佳。

    **大小分布。**绘制整个语料库中块大小的分布。健康的分块产生相对紧凑的分布,以目标大小为中心。大量非常短的块(少于50个标记)的长尾通常表示解析器的伪影——空的章节、重复的标题或在解析中幸存但不携带语义价值的格式残余。

    **重叠一致性。**如果使用重叠块,验证重叠确实有效。测量连续块之间的标记重叠,并标记重叠为零(表示间隙)或异常大(表示冗余)的任何一对。

    实用阈值

    块级别的RAG质量评分应标记任何连贯性分数低于0.6或大小低于最低可行阈值的块。在调优良好的管道中,应该只有不到5%的块低于这些阈值。如果超过15%失败,则分块策略需要在继续嵌入之前进行修订。

    阶段3:嵌入质量

    一旦块被嵌入,就有了向量——但并非所有向量都同样有用。糟糕的嵌入将不相关的内容聚集在一起或将相关内容分散开来,两者都会降低检索效果。

    衡量什么

    **主题内相似度。**取已知属于同一主题的块(基于其源文档或章节标题)并测量其嵌入的平均余弦相似度。这应该很高——对于匹配良好的嵌入模型,通常高于0.7。

    **主题间分离度。**取不同主题的块并测量平均余弦相似度。这应该很低。如果嵌入模型为"季度收入摘要"和"员工入职检查表"产生相似的向量,无论检索器多好,检索都会返回不相关的结果。

    **维度利用率。**一些嵌入模型产生的向量只使用其维度容量的一小部分——大部分方差集中在少数维度中,而其他维度携带接近零的信号。测量各维度的解释方差比。如果90%的方差被10%的维度捕获,可能从不同的嵌入模型或降维中受益。

    **最近邻健全性检查。**对于随机样本的块,检索5个最近邻并评分它们是否主题相关。这是嵌入空间是否支持良好检索的直接衡量。如果前5个邻居的平均相关性低于60%,则嵌入模型不适合该领域。

    实用阈值

    按批次记录嵌入质量指标并设置漂移警报。在初始评估期间得分良好的嵌入模型可能会随着语料库的演变而退化——新的文档类型、新的术语或转移的主题分布都可能随时间降低嵌入效果。

    阶段4:检索相关性

    这是检索到的块进入提示词之前的最后一道关卡。即使解析、分块和嵌入都运行良好,检索步骤本身也可能引入错误。

    衡量什么

    **K精度。**对于一组具有已知相关文档的测试查询,衡量前K个检索到的块中有多少是真正相关的。精度5是最常见的指标——在检索到的5个块中,有多少对回答查询真正有用。

    **K召回率。**在给定查询应检索到的所有块中,有多少实际出现在前K个结果中。低召回率意味着检索遗漏了相关信息,导致不完整的回答。

    **倒数排名。**第一个相关块出现在排序结果的什么位置?如果最佳块始终排在第三或第四位而不是第一位,则重新排序策略(或缺乏策略)需要关注。

    **分数分布。**查看检索块的相似度分数。健康的检索在相关和不相关结果之间产生明显的差距。如果排名第一的块得分0.82而第五个块得分0.79,检索器没有自信地区分相关和不相关内容。如果排名第一的块得分0.85而第五个得分0.45,信号很强。

    整合一切:节点级可观测性

    RAG质量评分的真正价值不在于任何单个指标——而在于在每个阶段持续衡量所有指标,并使结果可见。

    在Ertas中,这被内置到管道架构中。可视化管道中的每个节点都记录其输入和输出。元素计数沿边流动,因此可以准确看到有多少文档进入解析器、产生了多少块、有多少通过了质量阈值以及有多少被检索到。质量评分节点在任何阶段应用可配置的阈值,异常检测节点监视突发变化——通常每个文档产生200个块的解析步骤突然产生50个,这是一个值得调查的信号。

    这种节点级方法意味着不需要单独的监控系统。管道本身就是监控系统。质量分数在画布上可见,降质在发生的阶段被捕获,调试错误答案的团队可以查看管道可视化并立即看到质量在哪里下降。

    最重要的指标

    如果从零开始并需要优先排序,请关注三个RAG检索准确性指标:

    1. 解析完整性 — 摄取期间是否丢失了内容?衡量结构元素存活率。
    2. 块连贯性 — 块是否语义上自包含?衡量块内相似度。
    3. 精度5 — 正确的块是否到达了提示词?衡量前K个结果的相关性。

    这三个指标持续衡量,将在RAG质量问题到达生产之前捕获大部分问题。它们计算成本低、易于解释且可直接采取行动——任何一个的低分都指向需要关注的特定阶段。

    替代方案是等待用户投诉。这种方法最终也能奏效。但到用户报告错误答案时,管道已经向所有提出类似问题的用户提供了降质的结果。RAG质量评分将检测点从"用户注意到之后"转移到"数据离开节点之前"。这就是被动调试和主动质量控制之间的区别。

    Turn unstructured data into AI-ready datasets — without it leaving the building.

    On-premise data preparation with full audit trail. No data egress. No fragmented toolchains. EU AI Act Article 30 compliance built in.

    Keep reading