游乐游手机版
首页/AI热点日报/热点详情

从零开始图解RAG的5种分块策略完整详解教程

类型:热点整理2026-07-12
在RAG(检索增强生成)工作流中,文本分块策略直接影响向量检索的性能上限。以下系统梳理五种主流分块方案的原理及适用场景。 关键点在于:附加文档通常体量庞大,因此第一步需要将大文档切割成更小、更易管理的小块。这一步极为关键,因为切分后的文本必须匹配embedding模型的输入尺寸限制。本文将详细解析这

在RAG(检索增强生成)工作流中,文本分块策略直接影响向量检索的性能上限。以下系统梳理五种主流分块方案的原理及适用场景。

关键点在于:附加文档通常体量庞大,因此第一步需要将大文档切割成更小、更易管理的小块。这一步极为关键,因为切分后的文本必须匹配embedding模型的输入尺寸限制。本文将详细解析这五种分块策略,帮助您透彻理解其优劣。

图解 RAG 的 5 种分块策略

下图展示了RAG系统的典型工作流程:

由于附加文档往往非常庞大,步骤1中必须执行分块操作。分块质量直接决定了后续检索效果的上下限。

1. 固定大小分块 (Fixed-size chunking)

这种方案最为直接:根据预设的字符数、单词数或token数量,将文本切割成统一大小的片段。实现简单,但粗暴的切分极易破坏语义流。因此通常建议在两个相邻块之间保留一定重叠(即图中蓝色部分),为语义连续性留有余地。

优点是实现简单,所有块大小一致,批处理时非常高效。但缺点同样明显:经常将一句话或一个完整观点硬生生切断,导致重要信息散落在不同块中,严重影响后续检索的精确度。

2. 语义分块 (Semantic chunking)

这一思路更为高级——它不再拘泥于字符数,而是依据有意义的单元(如句子、段落或主题)进行切分。整体流程大致如下:

  • 先将文档按自然语义单元(句子/段落)切分为若干小段。
  • 为每个片段生成embedding向量。
  • 从第一个片段及其embedding开始,依次计算它与后续片段的余弦相似度。若第一个与第二个片段相似度高,则合并成一个块;继续向后比较,直到相似度明显下降。当相似度低于阈值时,立即开启新块,重复上述过程。

输出结果示例如下:

相比固定大小分块,语义分块最大优势在于保留了语言的自然流畅性,使完整思路得以保全。每个块包含更丰富、更具上下文关联的内容,检索准确性随之提升,LLM接收的信息更集中,生成的回复也更连贯、更贴题。

不过存在一个小问题:阈值的设定非常依赖经验。不同文档可能需要完全不同的阈值,需要反复调参实验。

3. 递归分块 (Recursive chunking)

这一策略颇具“能屈能伸”的特点。它首先依据段落或标题等文档自身边界进行分块,然后检查每个块的大小——若某个块超过预定义大小限制,则继续拆分为更小的块;若尺寸符合要求,则停止处理。

输出结果如图所示:

从上图可以看到:

  • 第一步定义了两个大块(图中紫色的两个段落)。
  • 第二步,段落1因超限被进一步拆分为小块组合。

与固定大小分块相比,递归分块同样保留了语言的自然流畅性和完整语义。但代价也很明确:实现与计算复杂度更高,属于用计算成本换取效果。

4. 基于文档结构的分块 (Document structure-based chunking)

该策略充分利用文档的固有结构:如标题、章节、子章节、段落。分块边界紧跟这些逻辑结构,能够最大程度保持结构完整性。

输出结果如图所示:

但此方法有一个硬性前提:文档本身必须具备清晰结构。若遇到排版混乱、无结构的长文本,则难以奏效。此外,块的长度可能随结构波动,有时会超出模型的token限制。一个实用做法是:将其与递归分割结合,先按结构切分,再对超长部分递归处理。

5. 基于LLM的分块 (LLM-based chunking)

这一方案最为“智能”:直接让大模型自行理解上下文,生成语义独立且有意义的分块。由于模型能真正理解语义而不仅仅是依赖简单启发式规则(如前四种方案),语义准确性最高。

不过,这一优势以巨大算力为代价,是五种方案中计算开销最大的。同时,LLM自身的上下文窗口有限,该过程本身也必须考虑窗口大小限制。

每种技术都有其独特优点和相应的权衡。从实际经验看,语义分块在多数场景下表现优异,但最终选型需依据具体数据类型、embedding模型能力以及可用计算资源综合决定。没有银弹,具体项目需要具体测试。

来源:https://www.53ai.com/news/RAG/2025060181652.html

相关热点

继续查看同栏目近期热点。

延伸阅读

补充最近整理过的热点入口。