---
sidebar_position: 9
---

# 分块策略

分块策略决定了文档如何被分割成小块以便于检索。选择合适的分块策略可以显著提高检索质量。

---

## 📊 策略概览

| 策略 | 适用场景 | 特点 |
|------|----------|------|
| **智能分块** | 通用文档 | 自动识别文档结构 |
| **句子分块** | 精确检索 | 按句子边界分割 |
| **语义分块** | 复杂文档 | 基于语义相似度分割 |

---

## 🧠 智能分块

智能分块是默认策略，能够自动识别文档结构并进行合理分割。

### 工作原理

- 识别段落、标题、列表等结构
- 保持语义完整性
- 自动调整分块大小

### 适用场景

- 结构化文档（如技术文档、报告）
- 混合内容文档
- 大多数通用场景

### 配置参数

| 参数 | 描述 | 默认值 |
|------|------|--------|
| `chunk_size` | 目标分块大小（字符数） | 500 |
| `chunk_overlap` | 分块重叠大小 | 50 |

---

## 📝 句子分块

句子分块按句子边界分割文档，适合需要精确检索的场景。

### 工作原理

- 识别句子边界（句号、问号、感叹号等）
- 将相邻句子组合成分块
- 保持句子完整性

### 适用场景

- FAQ 文档
- 问答对内容
- 需要精确匹配的场景

### 配置参数

| 参数 | 描述 | 默认值 |
|------|------|--------|
| `separator` | 句子分隔符 | `.!?` |
| `buffer_size` | 句子缓冲数量 | 1 |

---

## 🔗 语义分块

语义分块基于内容的语义相似度进行分割，适合复杂文档。

### 工作原理

- 计算相邻文本的语义相似度
- 在语义变化点进行分割
- 保持主题连贯性

### 适用场景

- 长篇文章
- 主题多样的文档
- 需要保持上下文连贯的场景

### 配置参数

| 参数 | 描述 | 默认值 |
|------|------|--------|
| `breakpoint_threshold` | 语义断点阈值 | 0.5 |
| `buffer_size` | 上下文缓冲大小 | 1 |

---

## ⚙️ 通用配置

### 分块大小

分块大小影响检索的精度和召回率：

| 大小 | 优点 | 缺点 |
|------|------|------|
| **小分块** (200-300) | 精确匹配 | 可能丢失上下文 |
| **中等分块** (400-600) | 平衡精度和上下文 | 通用选择 |
| **大分块** (800-1000) | 保留更多上下文 | 可能包含无关内容 |

### 分块重叠

重叠可以避免重要信息被分割：

- **无重叠** (0)：分块独立，节省存储
- **小重叠** (20-50)：基本连续性
- **大重叠** (100+)：强上下文保持

---

## 💡 选择建议

### 按文档类型

| 文档类型 | 推荐策略 | 原因 |
|----------|----------|------|
| 技术文档 | 智能分块 | 保持结构完整 |
| FAQ | 句子分块 | 精确匹配问答 |
| 长篇文章 | 语义分块 | 保持主题连贯 |
| 代码文档 | 智能分块 | 识别代码块 |

### 按使用场景

| 场景 | 推荐配置 |
|------|----------|
| 精确问答 | 句子分块 + 小分块 |
| 知识检索 | 智能分块 + 中等分块 |
| 上下文理解 | 语义分块 + 大分块 |

---

## 🔄 重新分块

如果检索效果不理想，可以重新分块：

1. 进入知识库的文档列表
2. 选择需要重新分块的文档
3. 点击 **重新索引**
4. 选择新的分块策略和参数
5. 确认重新处理

重新分块会删除旧的分块并创建新的分块。

---

## 🔗 相关文档

- [使用指南](./knowledge-base-guide.md) - 知识库完整使用指南
- [文档管理](./document-management.md) - 文档的添加和管理
- [配置检索器](./configuring-retrievers.md) - 检索器配置指南
