跳到主内容
快讯直播
AI智模界
AI 词典

递归分块:先把文档切成能装进盒子的块

一句话:递归分块(Recursive AI 词典:Chunking">Chunking)是按「先粗后细」的顺序,依次用一组分隔符去切文档;切出来的片段如果还是超长,就换下一级更细的分隔符继续切,直到每一段都不超过设定长度为止。

先看一个类比

想象你要把一本厚书塞进一排尺寸固定的收纳盒。你不会拿剪刀量着 30 厘米剪一刀——你会先按「章」分;某章塞不下盒子,就按「节」分;节还塞不下,再按「段」分;最后才按「句」、按「词」分。切到哪一级为止?切到这块能放进盒子为止。

这就是「递归」的含义:同一个切分动作,在不同层级上反复调用,每次都在上一轮切出来的「超长片段」上继续工作。

实现上长什么样

一般会给分块器传一个分隔符列表,顺序从最粗的边界排到最细的边界,大致是这样:

```

["\n\n", "\n", "。", "!", "?", ";", ",", ""]

```

先按空行切段落;某一段太长,就按单换行切行;某一行还太长,就按句号切句子;句子仍然太长,才退到按字符硬切——列表最后那个空字符串就是兜底选项。每一层切完都要检查长度,不合格就带着下一级分隔符继续递归。

通常还会加一点 overlap(重叠):相邻两块保留一小段重复内容,避免答案正好卡在边界上被劈成两半。

和相邻概念的区别

方式边界依据成本特点
固定长度分块字符数极低简单,但常把句子劈成两半
递归分块分隔符优先级 + 长度上限低优先落在自然边界,兜底硬切
语义分块相邻句子的向量相似度高边界更准,需要额外模型推理
父子分块检索用小块、生成用大块中解决的是「切多大」,不是「怎么切」

一句话区分:固定长度分块不管内容,语义分块靠模型算,递归分块靠文档本身的标点与换行结构——便宜、确定、可复现。

对从业者的实际意义

它是大多数 RAG(检索增强生成)流水线的默认起点。不知道用什么参数时,先用它。

几个具体坑:中文语料照抄英文的 \n\n 常常失效,因为 PDF 抽出来的文本段落之间可能全是单换行,第一层分隔符根本不触发,直接掉到按句号切;代码块、表格、Markdown 标题这些有强结构的内容,往往需要自定义分隔符或专门解析器,否则会被切得七零八落;长度上限和重叠量没有普适最优值,取决于你的语料密度和下游模型,最终以你在真实数据上的检索效果为准。

对普通职场人来说,理解这一点的价值在于:当你问一个基于公司文档的问答机器人,它答得驴唇不对马嘴时,问题未必在模型,很可能出在文档被切碎的那一刀上。

AI 生成本文由 AI 基于公开信息自动生成,仅供参考。