Skip to content

Chunking (文档分块)

什么是 Chunking

将长文档切分为更小的、语义完整的片段,以便检索和向量化。

为什么重要

  • 决定检索精度
  • 影响上下文长度消耗
  • 关系到生成质量

分块策略

1. 固定大小分块

简单但可能打断语义
如:每 500 tokens 为一块, overlap 50 tokens

2. 句子级别分块

保留完整句子
适合问答类内容

3. 段落级别分块

按自然段落切分
保持语义完整性

4. 递归分块

按层级尝试分割
先段落,再句子,再字符
直到达到目标大小

5. 语义分块

使用 LLM 判断语义边界
质量最高但成本也高

6. 基于结构分块

HTML/Markdown 标题级别
表格、列表保持完整

关键参数

参数 说明 建议值
chunk_size 块大小 500-1000 tokens
overlap 重叠大小 10-20% chunk_size
min_length 最小块长度 100 tokens
max_length 最大块长度 2000 tokens

选择依据

  • 短内容检索:小块 + 大 overlap
  • 长文档摘要:大块保留更多上下文
  • 多主题文档:语义分块或标题分块

相关概念

  • [[RAG]] - 分块后用于检索增强生成
  • [[Embedding]] - 向量化决定语义理解

状态

seed

来源

待补充