资讯动态

RAG Chunk 分块五大策略全解

发布时间:2026/9/9 21:03:44 来源:尧图企业网站定制
几个关键参数chunkSize、overlap在动手切之前有两个参数你必须搞清楚chunkSize块大小和overlap重叠量。chunkSize 就是每个块的长度上限。overlap重叠是指相邻两个块之间共享的文本长度。固定大小分块Fixed Size Chunking1.1 原理这是最简单粗暴的方式不管文本内容是什么每隔固定数量的字符就切一刀。假设 chunkSize 100overlap 0上面那段示例文本会被这样切块 1从第 1 个字符开始取 100 个字符块 2从第 101 个字符开始再取 100 个字符块 3从第 201 个字符开始再取 100 个字符……依此类推优缺点重叠分块Overlapping Chunking2.1 原理重叠分块是对固定大小分块的直接改进。核心思路很简单切块的时候相邻两个块之间留一段重叠区域这样即使切割点落在句子中间重叠部分也能保证关键信息不会被完全切断。还是用退货政策那段文本chunkSize 100overlap 25块 1从第 1 个字符开始取 100 个字符块 2从第 75 个字符开始100-2575取 100 个字符块 3从第 150 个字符开始取 100 个字符2.3 优缺点递归分块Recursive Chunking3.1 原理递归分块是目前实践中最常用的策略。它的思路可以用一句话概括先尝试用最大的分隔符切切完如果某个块还是太大就换一个更小的分隔符继续切直到所有块都在 chunkSize 以内。具体来说它维护一个分隔符列表按优先级从高到低排列比如[\n\n, \n, 。, , , ]3.2 优缺点语义分块Semantic Chunking4.1 原理前面三种策略有一个共同的局限它们都是基于规则的——要么按字数切要么按标点符号切。它们不理解文本在说什么。语义分块换了一个完全不同的思路用 Embedding 模型来判断文本的语义相似度在语义发生明显变化的地方切割。具体过程是这样的先把文本按句子拆开这一步可以简单地按句号切对每个句子生成一个向量Embedding计算相邻句子之间的向量相似度当相邻句子的相似度低于某个阈值时说明话题发生了转换在这里切一刀对比 Embedding vs LLM 分块4.2 优缺点混合分块Hybrid Chunking5.1 原理实际项目中单一的分块策略往往不够用。不同类型的文档、甚至同一份文档的不同部分可能适合不同的分块方式。混合分块的思路就是把多种策略组合起来用取长补短。常见的组合方式有几种第一种递归分块 语义分块。先用递归分块做粗切把文本按段落、章节切成大块然后对每个大块再用语义分块做细切确保每个最终的块在语义上是内聚的。第二种按文档类型选策略。比如在一个企业知识库系统中产品手册用递归分块FAQ 用按问答对切割合同文本用语义分块。在代码层面就是一个路由逻辑根据文档的类型或来源选择不同的分块器。第三种分块 后处理。先用递归分块切完然后对结果做一轮后处理合并太短的块、拆分太长的块、给每个块补充元数据比如所属章节标题、文档来源。5.2 优缺点分块策略怎么选一张表帮你决定不同文档类型的推荐策略先用Tika等工具做文本抽取→再用清洗器做结构修复与去噪→最后才进入分块与向量化文末总结分块是 RAG 数据准备阶段的关键一步。拿到 Tika 提取的纯文本后不能直接用需要切成大小合适、语义完整的小段才能在后续的检索环节中被精准匹配到。五种分块策略各有定位固定大小分块最简单但最粗暴重叠分块用重叠区域缓解边界断裂递归分块逐层细化是大多数场景的默认选择语义分块基于 Embedding 做语义级切割精度最高但成本也最高混合分块组合多种策略适合企业级复杂场景。chunkSize 和 overlap 这两个参数没有最优值需要根据你的文档类型和检索场景来调。记住起步参考值chunkSize500、overlap50然后根据实际效果微调。分块之后每个文本块还只是一段人类能读懂的文字。计算机要做相似度检索需要把这些文字转成它能理解的数字表示——这就是向量化Embedding

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价