什么是 分块大小(Chunk Size)?

分块大小(Chunk Size)是在检索增强生成系统中,为每个被索引文档单元选择的 token、字符或结构长度。

工作原理

分块大小决定每个检索单元包含多少源内容。小单元能更精确地定位证据,却可能拆散限定条件、标题或关系;大单元能保留上下文,却可能稀释排序信号并消耗更多生成预算。任何 Token 数都不是通用默认值。生产系统应根据权威证据 Span 长度、源结构、Tokenizer 限制与查询切片构造候选网格,再在相同唯一检索 Token 预算下比较。最终大小是一项绑定语料、Tokenizer、Embedding 模型与评测集的版本化策略。

主要特点

  • 坐标可追溯:Token 长度必须映射回权威源 Offset,以支持引用与删除
  • 依赖 Tokenizer:相同文本在不同 Tokenizer 版本下可能具有不同长度
  • 绑定预算:分块大小决定检索和生成预算内能容纳多少唯一证据 Token
  • 依赖查询:局部事实、比较、流程与主题问题可能偏好不同粒度
  • 实验选择:只有通过检索、引用、答案、延迟与成本评测后才能接受策略

常见用途

  1. 根据证据标注 Span 的长度分布构造候选大小网格
  2. 测试法律条款是否需要 Parent 扩展才能包含被引用定义
  3. 让代码 Symbol 与解释注释保留可回溯到权威源的 Offset
  4. 在相同唯一检索 Token 预算下比较大小不同的单元
  5. 以检索、引用、答案、延迟和成本回归门禁发布新大小策略

示例

loading...
Loading code...

常见问题

RAG 中分块大小多少比较合适?

不存在可迁移的默认值。应根据源结构、证据标注 Span 长度、Tokenizer 限制和查询切片生成候选值;保留简单的固定 Token 基线,再通过等预算检索与端到端评测选择策略。

分块越小越好吗?

不是。较小分块能检索到更精确片段,但也可能遗漏定义、前提、表格或前文上下文,导致回答不完整。

为什么建议按 token 衡量分块大小?

Embedding 与生成 API 都受 Token 预算约束,因此按 Token 计量有助于控制载荷与成本。但必须记录 Tokenizer 及版本,并保留权威字符或字节 Offset,因为 Token 坐标会随 Tokenizer 变化。

所有文档都应该使用同一个分块大小吗?

不能凭假设统一或拆分策略。代码库、政策手册和 FAQ 的源结构与证据需求不同;只有按查询切片的评测证明收益时才采用不同规则,并版本化策略以保证每个索引 Chunk 可复现。

相关工具

相关术语

相关文章