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

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

工作原理

分块大小决定检索器一次返回多少证据。较小分块通常有利于精确率,因为每条结果聚焦于更窄的语义;但它也可能切掉回答问题所需的上下文。较大分块能保留周边信息和引用连续性,但可能稀释向量相似度、占用更多上下文窗口,并让 top-k 结果不够具体。生产级 RAG 通常应按模型 token 衡量分块大小,用真实查询评估,并按文档类型调整,而不是把某个固定数字当成通用答案。

主要特点

  • 在 LLM 工作流中通常按 token 衡量,尽管摄取管线可能从字符或词开始
  • 直接影响检索精确率、上下文窗口使用量和索引规模
  • 会与分块重叠、文档结构、top-k、重排和引用要求相互影响
  • 常按内容类型变化,例如政策、API 文档、代码、法律合同或客服工单
  • 应通过检索评估调优,而不是只凭经验选择

常见用途

  1. 为产品文档 RAG 设置 300 到 600 token 的章节块
  2. 为需要周边定义的法律条款使用较大分块
  3. 在开发者搜索中把代码示例和解释保留在同一分块
  4. 通过缩小过宽分块降低上下文成本
  5. 离线对比不同分块大小下的答案质量

示例

loading...
Loading code...

常见问题

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

没有通用默认值,但许多文本型 RAG 系统会从几百个 token 开始,再结合检索和答案质量评估进行调优。

分块越小越好吗?

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

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

LLM 受 token 预算约束。按 token 设定大小,更容易把检索载荷与上下文窗口限制和生成成本对应起来。

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

通常不应该。代码库、政策手册和 FAQ 页面具有不同结构和证据需求,往往需要不同的分块规则。

相关工具

相关术语

相关文章