Chunk / Chunking(文本分块)
将长文本按策略切分为短片段的过程,是RAG流程的地基。常见策略包括固定长度切分、按段落/标题切分、重叠窗口切分。切分质量直接决定检索质量——切太大噪声多,切太小丢上下文。
Chunk / Chunking(文本分块)
一句话理解
把一篇长文档切成一段一段的"小卡片",让检索系统能精准找到最相关的那几段,而不是把整本书扔给模型。
为什么需要分块
RAG 的核心是"先检索,再生成"——但检索的单位不能是整篇文档(太长、噪声太多),也不能是单个句子(太短、丢失上下文)。Chunk 就是在这两个极端之间找到合适的粒度。
类似于搜索引擎的索引策略——你不会把整个网站当作一个搜索结果返回,而是按页面甚至段落粒度建索引,让用户能精准定位到最相关的内容。
三种常见策略
固定长度切分
按 token 数或字符数切分(如每 512 tokens 一段)。简单粗暴,但可能在句子中间截断。
按语义边界切分
按段落、标题、章节等自然边界切分。保持语义完整性,但各 chunk 长度差异大。
重叠窗口切分
在固定长度基础上,相邻 chunk 之间保留一定重叠(如 50-100 tokens)。避免关键信息被截断在两段之间。
分块质量的影响
- 太大:检索到的 chunk 里噪声多,模型回答质量下降
- 太小:丢失上下文,模型无法理解片段含义
- 截断位置不当:关键信息被拆到两个 chunk 里,两个都检索不到
分块策略没有银弹,需要根据文档类型和查询模式调优。
引用本术语的文章