文档分块(Chunking)策略


一句话总结

文档分块策略决定了RAG系统中知识的粒度和边界,直接影响检索精度和生成质量,需要根据文档类型和任务特点选择合适方案。

核心概念

常见分块策略:固定大小分块(按字符/token数切分,简单但可能截断语义)、递归分块(按层级分隔符递归切分,保持语义完整性)、语义分块(基于embedding相似度自动识别语义边界)、结构化分块(按文档结构如标题、段落切分)。关键参数包括chunk_size(块大小)和overlap(重叠区域)。Small-to-Big策略用小块检索大块上下文。

为什么重要

分块太大导致检索噪声多且可能超出embedding模型长度限制,分块太小丢失上下文信息。不合理的分块是RAG效果差的最常见原因之一。

实践要点

一般chunk_size设为256-1024 token,overlap设为chunk_size的10-20%。代码类文档按函数/类分块。表格和列表保持完整性。结合文档结构使用递归分块。使用parent-child索引策略兼顾检索精度和上下文完整性。对分块结果做质量抽检。

常见误区

使用固定大小分块处理所有文档类型。忽视overlap导致信息丢失在边界处。chunk_size设置不考虑embedding模型的max_token限制。分块后不检查质量直接入库。