langchain_text_splitters.markdown
.ExperimentalMarkdownSyntaxTextSplitter¶
- class langchain_text_splitters.markdown.ExperimentalMarkdownSyntaxTextSplitter(headers_to_split_on: Optional[List[Tuple[str, str]]], = None, return_each_line: bool = False, strip_headers: bool = True)[源代码]¶
用于处理 Markdown 语法的一个实验性文本拆分器。
此拆分器旨在保留原始文本的精确空白,同时提取结构化元数据,如标题。它是 MarkdownHeaderTextSplitter 的重实现,在该方法上有重大变化,并增加了新功能。
主要特征:- 保持 Markdown 文本的原始空白和格式。- 提取标题、代码块和水平线作为元数据。- 将代码块拆分出来,并在“代码”元数据键中包含语言。- 同时在水平线上(例如,“——”)拆分文本。- 默认使用合理的拆分行为,但可以使用 headers_to_split_on 参数来覆盖。
headers_to_split_on 参数。
参数:¶
- headers_to_split_onList[Tuple[str, str]], 可选
用于拆分的标题,默认为未指定时的常见 Markdown 标题。
- return_each_linebool, 可选
当设置为 True 时,将每行作为单独的块返回。默认为 False。
使用示例:¶
>>> headers_to_split_on = [ >>> ("#", "Header 1"), >>> ("##", "Header 2"), >>> ] >>> splitter = ExperimentalMarkdownSyntaxTextSplitter( >>> headers_to_split_on=headers_to_split_on >>> ) >>> chunks = splitter.split(text) >>> for chunk in chunks: >>> print(chunk)
此类目前为实验性,并根据反馈和进一步开发进行更改。
属性
DEFAULT_HEADER_KEYS
方法
__init__
([headers_to_split_on, ...])split_text
(text)- 参数:
headers_to_split_on (联合类型[列表元组str, str]], None]) –
return_each_line (布尔型) –
strip_headers (布尔型) –