Workspace sync: auto commit 2026-04-23 12:02:11
This commit is contained in:
31
wiki/concepts/Split.md
Normal file
31
wiki/concepts/Split.md
Normal file
@@ -0,0 +1,31 @@
|
||||
---
|
||||
title: "Split"
|
||||
type: concept
|
||||
tags: [rag, document-processing, chunking, text-splitting]
|
||||
last_updated: 2025-01-16
|
||||
---
|
||||
|
||||
## Definition
|
||||
Split(文档块/文本片段)是 Indexing 阶段将长文档切分后的产物,每个 Split 的 token 数量满足 Embedding Model 的 Context Window 限制,同时尽可能保持语义完整性。
|
||||
|
||||
## Why Splitting Matters
|
||||
Embedding Model 的 Context Window 有限(通常 512~8192 token),无法直接处理整篇长文档,因此必须切分。切分质量直接影响检索效果:
|
||||
|
||||
- **Split 过大**:超过 Context Window 无法处理,即使能处理也引入过多噪声
|
||||
- **Split 过小**:语义不完整,检索到的片段无法支撑 LLM 生成准确答案
|
||||
- **Split 不重叠**:相邻片段边界处的重要信息可能被切分点切断
|
||||
|
||||
## Common Splitting Strategies
|
||||
1. **Fixed-size Split**:按固定 token 数切分(简单但可能切断句子)
|
||||
2. **Sentence-aware Split**:按句子或段落切分(语义更完整)
|
||||
3. **Recursive Split**:递归地按换行符→句子→单词逐级切分(平衡粒度与完整性)
|
||||
4. **Semantic Split**:按语义相似度聚类后切分(最理想但实现复杂)
|
||||
|
||||
## In RAG Pipeline
|
||||
- **Indexing 阶段输出**:每个文档切分为多个 Split,分别 Embedding 后入库
|
||||
- **Retrieval 阶段处理**:用户问题检索到的是 Split 粒度的文档块,而非整篇文档
|
||||
|
||||
## Related Concepts
|
||||
- [[Indexing]] — Split 是 Indexing 阶段的产物
|
||||
- [[Embedding]] — 每个 Split 独立进行向量化
|
||||
- [[Context Window]] — Split 大小的上限约束
|
||||
Reference in New Issue
Block a user