基本用法
默认的 `MarkdownHeaderTextSplitter` 会去除空格和换行符。要保留 Markdown 文档的原始格式,请查看 `ExperimentalMarkdownSyntaxTextSplitter`。
如何将 Markdown 行作为单独的文档返回
默认情况下,`MarkdownHeaderTextSplitter` 会根据 `headers_to_split_on` 中指定的标题聚合行。我们可以通过指定 `return_each_line` 来禁用此功能。如何限制块大小
在每个 markdown 组中,我们可以应用任何我们想要的文本分割器,例如 `RecursiveCharacterTextSplitter`,它允许进一步控制块大小。故障排除:`chunk_overlap` 似乎不适用
- 在基于标题的分割(例如 `MarkdownHeaderTextSplitter`)之后,使用 **`split_documents(docs)`**(而不是 `split_text`),以便在**每个部分内**应用重叠,并且每个部分的元数据(标题)保留在块上。
- 仅当**单个部分**超出 `chunk_size` 并被分割成多个块时,才会出现重叠。
- 重叠**不会跨越**节/文档边界(例如,`# H1` → `## H2`)。
- 如果标题变成了一个微小的第一个块,请考虑将 `strip_headers` 设置为 `True`,这样标题行就不会成为一个独立的块。
- 如果您的文本缺少换行符/空格,请在 `separators` 中保留一个备用的 `""`,以便分割器仍能分割并应用重叠。
以编程方式连接这些文档到 Claude、VSCode 等,通过 MCP 获取实时答案。