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

