什么是 分块大小(Chunk Size)?
分块大小(Chunk Size)是在检索增强生成系统中,为每个被索引文档单元选择的 token、字符或结构长度。
工作原理
分块大小决定检索器一次返回多少证据。较小分块通常有利于精确率,因为每条结果聚焦于更窄的语义;但它也可能切掉回答问题所需的上下文。较大分块能保留周边信息和引用连续性,但可能稀释向量相似度、占用更多上下文窗口,并让 top-k 结果不够具体。生产级 RAG 通常应按模型 token 衡量分块大小,用真实查询评估,并按文档类型调整,而不是把某个固定数字当成通用答案。
主要特点
- 在 LLM 工作流中通常按 token 衡量,尽管摄取管线可能从字符或词开始
- 直接影响检索精确率、上下文窗口使用量和索引规模
- 会与分块重叠、文档结构、top-k、重排和引用要求相互影响
- 常按内容类型变化,例如政策、API 文档、代码、法律合同或客服工单
- 应通过检索评估调优,而不是只凭经验选择
常见用途
- 为产品文档 RAG 设置 300 到 600 token 的章节块
- 为需要周边定义的法律条款使用较大分块
- 在开发者搜索中把代码示例和解释保留在同一分块
- 通过缩小过宽分块降低上下文成本
- 离线对比不同分块大小下的答案质量
示例
loading...
Loading code...常见问题
RAG 中分块大小多少比较合适?
没有通用默认值,但许多文本型 RAG 系统会从几百个 token 开始,再结合检索和答案质量评估进行调优。
分块越小越好吗?
不是。较小分块能检索到更精确片段,但也可能遗漏定义、前提、表格或前文上下文,导致回答不完整。
为什么建议按 token 衡量分块大小?
LLM 受 token 预算约束。按 token 设定大小,更容易把检索载荷与上下文窗口限制和生成成本对应起来。
所有文档都应该使用同一个分块大小吗?
通常不应该。代码库、政策手册和 FAQ 页面具有不同结构和证据需求,往往需要不同的分块规则。