HTML部分分割器#

class langchain_text_splitters.html.HTMLSectionSplitter(headers_to_split_on: List[Tuple[str, str]], xslt_path: str | None = None, **kwargs: Any)[source]#

根据指定的标签和字体大小拆分HTML文件。

需要lxml包。

创建一个新的HTMLSectionSplitter。

Parameters:
  • headers_to_split_on (List[Tuple[str, str]]) – 我们想要跟踪的标题元组列表,映射到(任意)元数据键。允许的标题值:h1, h2, h3, h4, h5, h6 例如 [(“h1”, “标题 1”), (“h2”, “标题 2”].

  • xslt_path (可选[str]) – 用于文档转换的xslt文件的路径。

  • 通过。 (如果没有则使用默认值)

  • layouts. (用于使用不同格式的html内容)

  • **kwargs (Any) – 用于自定义的额外可选参数。

方法

__init__(headers_to_split_on[, xslt_path])

创建一个新的HTMLSectionSplitter。

convert_possible_tags_to_header(html_content)

使用XSLT转换将特定的HTML标签转换为标题。

create_documents(texts[, metadatas])

从文本列表中创建文档。

split_documents(documents)

分割文档。

split_html_by_headers(html_doc)

根据指定的标题标签将HTML文档分割成多个部分。

split_text(text)

拆分HTML文本字符串。

split_text_from_file(file)

分割HTML文件。

__init__(headers_to_split_on: List[Tuple[str, str]], xslt_path: str | None = None, **kwargs: Any) None[source]#

创建一个新的HTMLSectionSplitter。

Parameters:
  • headers_to_split_on (List[Tuple[str, str]]) – 我们想要跟踪的标题元组列表,映射到(任意)元数据键。允许的标题值:h1, h2, h3, h4, h5, h6 例如 [(“h1”, “标题 1”), (“h2”, “标题 2”].

  • xslt_path (str | None) – 用于文档转换的xslt文件的路径。

  • 通过。 (如果没有则使用默认值)

  • layouts. (用于使用不同格式的html内容)

  • **kwargs (Any) – 用于自定义的额外可选参数。

Return type:

convert_possible_tags_to_header(html_content: str) str[source]#

使用XSLT转换将特定的HTML标签转换为标题。

此方法使用XSLT文件来转换HTML内容,将某些标签转换为标题以便于解析。如果未提供XSLT路径,则HTML内容将保持不变。

Parameters:

html_content (str) – 要转换的HTML内容。

Returns:

转换后的HTML内容作为字符串。

Return type:

字符串

create_documents(texts: List[str], metadatas: List[dict] | None = None) List[Document][source]#

从文本列表创建文档。

Parameters:
  • 文本 (列表[字符串])

  • metadatas (列表[字典] | )

Return type:

列表[文档]

split_documents(documents: Iterable[Document]) List[Document][source]#

分割文档。

Parameters:

文档 (可迭代[Document])

Return type:

列表[文档]

split_html_by_headers(html_doc: str) List[Dict[str, str | None]][source]#

根据指定的标题标签将HTML文档分割成多个部分。

此方法使用BeautifulSoup解析HTML内容,并根据headers_to_split_on中定义的标题将其划分为多个部分。每个部分包含标题文本、标题下的内容以及标签名称。

Parameters:

html_doc (str) – 要分割成部分的HTML文档。

Returns:

表示部分的字典列表。

每个字典包含: - ‘header’:标题文本或第一部分的默认标题。 - ‘content’:标题下的内容。 - ‘tag_name’:标题标签的名称(例如,“h1”,“h2”)。

Return type:

列表[字典[字符串, 可选[字符串]]]

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

分割HTML文本字符串。

Parameters:

文本 (str) – HTML 文本

Return type:

列表[文档]

split_text_from_file(file: Any) List[Document][source]#

分割HTML文件。

Parameters:

文件 (任意) – HTML 文件

Return type:

列表[文档]

使用 HTMLSectionSplitter 的示例