AI 纪元 追踪人工智能最新进展,深度解读前沿技术

RAG 召回率卡在 78%,五种分块方案复测结果

同一套模型、向量数据库和5万篇中英文混合文档下,五种分块方案的召回率从82%到94%不等。Parent-Child以160ms平均延迟取得94%召回率,Markdown结构分块更适合成本敏感的结构化文档。

0 次阅读 约 2584 字 5 分钟 AI 生成
A conceptual editorial image showing fragmented document pages being organized into neat, structured stacks under soft studio lighting.
A conceptual editorial image showing fragmented document pages being organized into neat, structured stacks under soft studio lighting.

5万篇中英文混合文档入库后,系统能返回结果,却经常只找到不够用的片段。答案看似沾边,关键数字、条款前提或时间范围却丢了。调整 Embedding 后,召回率仍停在 78%。

问题随后转向了入库前的一步:文档究竟该怎么切。

固定字符切分很容易破坏原文结构。条款标题留在上一块,具体定义落到下一块;时间和统计口径被拆开;两个没有关联的段落又可能因为长度刚好而挤进同一块。53AI 在 2025 年 6 月 24 日发布的分块策略文章中也提到,模型可能把“预计2025年增长10%”误读成历史数据。上下文一旦被切散,后面的向量检索和生成模型都很难补救。

测试环境没变,只换分块方法

这轮复测保持底层模型、向量数据库和文档集不变。测试集包含 5 万篇技术手册、财务报表、合规文档和代码注释,中英文内容混合。

评估记录了三项指标:Recall@K、单次查询延迟,以及答案能否准确到无需人工二次校对。原始测试记录没有列出 Embedding 的具体型号、Recall@K 中的 K 值和硬件配置,因此下面的数据适合观察同一环境里的相对差异,不宜直接当作行业基准。

五种切法,代价各不相同

滑动窗口:改动最小,冗余也最明显

基线方案按 500 token 切分,相邻块重叠 100 token。召回率从 78% 提高到 82%,平均延迟为 120ms,但索引体积增加了 20%,查询延迟较原方案上升 15%。

重叠确实能缓解句子被截断的问题,也会让同一事实反复出现在多个块中。测试中,一些重复片段进入候选结果后干扰了排序,高置信度的错误答案反而排得更靠前。

Markdown 结构分块:标题本身就是检索线索

该方案解析 H1 至 H3 标题,并把父级标题保留在块的元数据中。召回率达到 88%,平均延迟 110ms,索引体积仅增加 5%。

它在技术手册、教程和制度文档中表现稳定。用户询问“某条款”时,系统能够同时看到条款内容及其所属章节。博客园作者 knqiufan 对 RAG 召回率的分析也强调了标题与正文关联的重要性。

短板出现在缺乏标题的大段纯文本中。合同正文或连续叙述没有明确的层级边界,结构解析能利用的信息有限,效果有时还不如滑动窗口稳定。

语义分块:逻辑更连贯,预处理更重

语义分块通过嵌入模型计算相邻段落的相似度,低于阈值时再切开。测试召回率为 91%,平均延迟 180ms,索引体积增加 10%。

这套方法减少了逻辑段落被拦腰切断的情况,但需要逐段计算语义距离,预处理时间增加到原来的 3 倍。中文样本中的切分点也更不稳定,阈值稍有变化,就可能出现块过大或过碎的问题。

Late Chunking:长文档效果突出,对上下文窗口要求高

本次实现先按整章等较大范围获取表示,再在生成阶段收窄上下文。它减少了过早切分带来的信息碎片,在复杂推理任务上的得分最高,召回率达到 93%。

代价同样清楚:平均延迟 200ms,为五种方案中最高;索引体积增加 15%。如果模型的上下文窗口限制在 8k 以内,较长父级内容仍有被截断的风险。

Parent-Child:小块负责命中,大块补足背景

Parent-Child 同时保存两种粒度。较小的子块进入向量索引,用来提高检索精度;命中子块后,系统再取回对应的父块,交给生成模型使用。

这套方案取得了 94% 的召回率,平均延迟 160ms,索引体积增加 12%。延迟高于 Markdown 结构分块和滑动窗口,但低于语义分块与 Late Chunking。最终答案质量也是五种方案中最高的。

数据放在一起更容易判断

方案 召回率 平均延迟 索引体积增幅 更适合的文档
滑动窗口 82% 120ms +20% 简单问答、预算有限的项目
Markdown 结构分块 88% 110ms +5% 手册、教程、制度文档
语义分块 91% 180ms +10% 逻辑连续的长文本
Late Chunking 93% 200ms +15% 复杂推理、长上下文任务
Parent-Child 94% 160ms +12% 通用企业知识库

Parent-Child 的优势不只体现在 94% 这个数字上。它把检索粒度和生成粒度拆开处理,既能用小块提高命中精度,也能让模型看到定义、条件和例外条款所在的完整段落。

在财务数据和时间节点类问题中,测试记录显示其幻觉率约下降 40%。不过,现有记录没有注明该数据的对照组和统计口径,更适合作为内部选型信号,不能直接外推到其他知识库。

分块解决不了所有漏检

53AI 给出的另一个例子很典型:用户问“钱放货币基金安全吗?”,文档标题却是“货币市场基金信用风险分析”。口语提问与专业术语之间存在明显表述差异,即使文档切得完整,单纯依赖语义向量仍可能漏检。

数字、日期和低频专业术语也需要单独检查。分块上线前,应先完成文档去噪和格式标准化,尤其是中英文混排时的标点、特殊字符与标题层级。Embedding 模型对专业术语的表示能力同样会影响结果,不能把所有问题都归因于切分策略。

选方案时,先看手里的文档

如果知识库主要由 Markdown 手册、教程或规章制度组成,结构分块通常已经够用。它的召回率达到 88%,延迟和索引成本也是五种方案中较低的一档。

研发资料、法律合同和财务文档更依赖上下文完整性,Parent-Child 更均衡:94% 的召回率、160ms 的平均延迟,没有 Late Chunking 那么重,也比单纯的语义分块更适合通用问答。

需要处理复杂推理和超长文档时,可以考虑 Late Chunking,但要先确认模型上下文窗口和计算资源。滑动窗口则适合快速搭建基线,不适合长期依赖大量重叠来修补切分问题。

上线后也别只看总召回率。把漏检问题拆开记录:是相关块完全没找到,还是只找到半段;是排序出了问题,还是生成模型忽略了证据。只有把失败样本分清楚,下一轮调整阈值、分块大小或 Embedding 模型才有依据。

参考资料

相关阅读

Abstract visualization of a connected network representing supply chain relationships 前沿研究
0 阅读

Graph RAG 更适合这几类企业检索

向量检索擅长找相似,但在跨文档、多实体关系链的查询上容易断裂。2026年,Graph RAG 通过显式构建知识图谱来支撑多跳推理与全局分析。本文拆解供应链风控、合规审计、药物研发和工业设备运维四类场景,给出可落地的选型判

阅读全文