实验性Markdown语法文本分割器#

class langchain_text_splitters.markdown.ExperimentalMarkdownSyntaxTextSplitter(headers_to_split_on: List[Tuple[str, str]] | None = None, return_each_line: bool = False, strip_headers: bool = True)[source]#

一个用于处理Markdown语法的实验性文本分割器。

此分割器旨在在提取结构化元数据(如标题)的同时保留原始文本的精确空白。它是MarkdownHeaderTextSplitter的重新实现,对方法进行了显著更改并增加了额外功能。

主要特点: - 保留Markdown文本的原始空白和格式。 - 提取标题、代码块和水平线作为元数据。 - 分离代码块并在“Code”元数据键中包含语言。 - 在水平线()上分割文本。 - 默认采用合理的分割行为,可以使用

headers_to_split_on 参数。

参数:#

headers_to_split_onList[Tuple[str, str]], optional

要拆分的标题,如果未指定,则默认为常见的Markdown标题。

return_each_linebool, optional

当设置为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)

此类目前处于实验阶段,可能会根据反馈和进一步开发进行调整。

使用标题分割和格式化选项初始化文本分割器。

此构造函数设置了根据指定标题和格式偏好将文本分割成块所需的配置。

param headers_to_split_on:

一个元组列表,其中每个元组包含一个标题标签(例如,“h1”)及其对应的元数据键。如果为None,则使用默认标题。

type headers_to_split_on:

Union[List[Tuple[str, str]], None]

param return_each_line:

是否将每一行作为单独的块返回。 默认为False,将行聚合成更大的块。

type return_each_line:

布尔

param strip_headers:

是否从结果块中排除头部。 默认为 True。

type strip_headers:

布尔

属性

DEFAULT_HEADER_KEYS

方法

__init__([headers_to_split_on, ...])

使用标题分割和格式化选项初始化文本分割器。

split_text(text)

将输入文本分割成结构化的块。

__init__(headers_to_split_on: List[Tuple[str, str]] | None = None, return_each_line: bool = False, strip_headers: bool = True)[source]#

使用标题分割和格式化选项初始化文本分割器。

此构造函数设置了根据指定标题和格式偏好将文本分割成块所需的配置。

Parameters:
  • headers_to_split_on (Union[List[Tuple[str, str]], None]) – 一个元组列表,其中每个元组包含一个标题标签(例如,“h1”)及其对应的元数据键。如果为None,则使用默认的标题。

  • return_each_line (bool) – 是否将每一行作为单独的块返回。 默认为 False,将行聚合成更大的块。

  • strip_headers (bool) – 是否从结果块中排除头部。 默认为 True。

split_text(text: str) List[Document][source]#

将输入文本分割成结构化的块。

此方法逐行处理输入文本,识别并处理特定模式,如标题、代码块和水平规则,以根据标题、代码块和水平规则将其分割成结构化的块。

Parameters:

text (str) – 要分割成块的输入文本。

Returns:

表示输入文本的结构化块的Document对象列表。如果启用了return_each_line,则每行将作为单独的Document返回。

Return type:

列表[Document]

Parameters:
  • headers_to_split_on (Union[List[Tuple[str, str]], None])

  • return_each_line (bool)

  • strip_headers (bool)