Files
nexus/wiki/concepts/Split.md

32 lines
1.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
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 大小的上限约束