什么是 文档分块(Chunking)?

文档分块(Chunking)是把长文档或数据源切分为较小可检索单元的过程,这些单元需要保留足够语义上下文,以支持向量嵌入、索引、检索和有依据生成。

工作原理

文档分块是 RAG 中杠杆最高的设计选择之一。它决定检索器能返回给模型的单位:段落、标题章节、页面、表格、代码块,或滑动文本窗口。好的分块保留语义和来源可追溯性;糟糕分块会产生过小而无法回答问题的碎片,或过大而无法精确检索的文本块。生产级分块应考虑文档结构、语言、表格、代码、权限、引用、token 预算和评估结果,而不是只依赖固定字符数。

主要特点

  • 检索单元设计:定义检索器可以返回的最小索引单位
  • 尽可能结构感知:尊重标题、段落、表格、列表、代码块和页码边界
  • 上下文保留:在精确检索和足够上下文之间取得平衡
  • 引用影响:影响生成答案能否指向可靠来源片段
  • 依赖评估:最优策略取决于查询模式、语料类型、模型上下文窗口和延迟预算

常见用途

  1. 把产品文档按标题结构拆分,用于 RAG 检索
  2. 为政策问答创建段落级分块
  3. 在开发者文档中保留代码块及其周围解释
  4. 把表格或表单拆成带元数据的可检索记录
  5. 测试不同分块策略以提升检索精确率和召回率

示例

loading...
Loading code...

常见问题

为什么文档分块对 RAG 很重要?

分块定义了检索器可以返回什么。如果分块形状不好,系统可能检索到不完整证据、混合无关主题、丢失引用边界,或浪费上下文窗口预算。

固定大小分块够用吗?

它可以作为基线,但生产环境通常不是最优。对于有标题、表格、列表、代码或政策章节的文档,结构感知分块通常效果更好。

应该如何评估分块?

应评估预期证据是否出现在 top-k 检索结果中,分块是否包含足够回答上下文,以及引用是否仍然具体且可审计。

分块会泄露受限数据吗?

会。如果分块跨越权限边界合并内容,检索可能暴露用户不应看到的文本。分块和元数据分配都应遵守访问控制边界。

相关工具

相关术语

相关文章