Auto-sync: 2026-04-16 13:01
This commit is contained in:
42
wiki/concepts/文档分块.md
Normal file
42
wiki/concepts/文档分块.md
Normal file
@@ -0,0 +1,42 @@
|
||||
---
|
||||
id: document-chunking
|
||||
title: 文档分块
|
||||
type: concept
|
||||
tags: [RAG, 数据预处理]
|
||||
sources: ["RAG从入门到精通系列1:基础RAG.md"]
|
||||
last_updated: 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 稀释有效信息,检索精度下降
|
||||
- 块太小:丢失上下文,同一主题信息被割裂
|
||||
- 重叠太小:块边界处的重要信息被截断
|
||||
Reference in New Issue
Block a user