1.7 KiB
1.7 KiB
id, title, type, tags, sources, last_updated
| id | title | type | tags | sources | last_updated | |||
|---|---|---|---|---|---|---|---|---|
| document-chunking | 文档分块 | concept |
|
|
2026-04-16 |
Definition
文档分块(Chunking / Splitting)是将长文档切分为适合 LLM Context Window 大小的小块的过程,是 RAG Indexing 阶段的关键步骤。
Problem
LLM 的 Context Window 有限(512~8192 token),无法一次处理整本手册或长文章,必须分块喂入。
Chunking Strategies
| 策略 | 描述 | 适用场景 |
|---|---|---|
| 固定长度 | 按 token 数切分(512/1024) | 通用,均匀 |
| 段落切分 | 按自然段落边界切分 | 保留语义完整性 |
| 递归切分 | 按层级递归切分(标题→段落→句子) | 结构化文档 |
| 语义切分 | 按主题/意图边界切分 | 高质量检索 |
| Overlap | 块间重叠(如 128 token 重叠) | 防止块边界信息丢失 |
Key Parameters
- chunk_size:每个块的最大 token 数(512~1024 常见)
- chunk_overlap:块间重叠 token 数(通常 64~128)
Tool Examples
- LangChain:
RecursiveCharacterTextSplitter、RecursiveJsonSplitter、MarkdownHeaderTextSplitter
Connections
- RAG ← 必经阶段(Indexing 流程的第一步)
- 向量检索 ← 下游(分块后向量化,再检索)
- Embedding ← 依赖(每个块独立 Embedding)
- Context Window ← 约束来源(分块大小上限由 Context Window 决定)
Quality Impact
分块质量直接影响 RAG 检索效果:
- 块太大:Context 稀释有效信息,检索精度下降
- 块太小:丢失上下文,同一主题信息被割裂
- 重叠太小:块边界处的重要信息被截断