什么是 分块重叠(Chunk Overlap)?
分块重叠(Chunk Overlap)是在相邻文档分块之间保留的重复文本,使切分边界附近的信息仍然可以被检索到。
工作原理
分块重叠是防止句子、定义、表格解释或操作步骤被切在两个分块之间的实用保护措施。它可以提升边界附近答案的召回率,但过多重叠会膨胀索引、增加重复证据,并挤占多样化结果。好的重叠策略通常是适度的、按 token 配置的,并配合去重或重排,避免生成模型反复看到同一段证据。
主要特点
- 保留分块边界附近的局部上下文
- 通常配置为 token 数量或分块大小的百分比
- 能提升跨边界事实的召回率,但会增加索引体积
- 如果 top-k 检索不做多样化,可能产生近重复结果
- 与结构感知切分和重排结合时效果更稳定
常见用途
- 把定义和紧随其后的解释保留在跨边界上下文中
- 在段落长于目标分块大小时减少回答失败
- 保留分块边界附近的代码注释和代码行
- 在 RAG 检索评估中测试不同重叠大小
- 对散文文本选择性使用重叠,而对结构化记录避免重复
示例
loading...
Loading code...常见问题
RAG 系统应该设置多少分块重叠?
常见起点是分块大小的一小部分,但合适数值取决于文档结构、查询类型和系统对重复结果的容忍度。
分块重叠会伤害检索效果吗?
会。过多重叠会产生重复向量和重复结果,降低结果多样性并浪费上下文窗口空间。
结构化数据需要分块重叠吗?
通常不太需要。记录、行和边界清晰的字段更需要保留元数据和 schema,而不是滑动文本重叠。
分块重叠会影响引用吗?
重叠可以保留边界附近证据,但系统应保留来源偏移量,让引用仍然指向原文中的准确片段。