# 按层级切分文档

按文档正文中的 Markdown 标题边界切分内容，保留章节结构和来源信息。

适用于已有标题层级的文本。需要按目标字符长度控制块大小时，使用[分段](../ai-processing/chunk.md)。

## 准备输入

绑定上游 `documents`。标题需要在文本中以 Markdown 标题行表示，例如 `#` 或 `##` 开头的行；仅在视觉上加粗的文字不会自动成为标题边界。

切分位置由标题决定，不设置块长度或重叠长度。

## 切分行为

节点按标题行组织块，并识别 Markdown 代码块，避免把代码块内的 `#` 内容当作标题。代码类型的记录保持完整。

因此，长章节仍可能产生较长文本块。需要进一步控制长度时，可在后续连接按长度分段节点，并检查结构是否保留。

## 使用输出

主要输出为 `documents`，保留原有来源元数据，并增加 `parent_index`、`chunk_index` 和 `chunk_type` 等位置说明。

下游可据此识别块与父文档的关系。后续步骤继续绑定 `documents`。

## 示例：按手册章节建立索引

流程示意：文档解析 → 按层级切分文档 → 嵌入并添加到知识库。

先检查解析正文确实包含 Markdown 标题，再执行章节切分。遇到特别长的章节时，增加长度分段并抽查输出。

## 继续阅读

- [变量与数据传递](../../variables-and-data.md)
- [运行与调试](../../run-debug.md)
