递归Json分割器#

class langchain_text_splitters.json.RecursiveJsonSplitter(max_chunk_size: int = 2000, min_chunk_size: int | None = None)[source]#

将JSON数据分割成更小、结构化的块,同时保留层次结构。

该类提供了将JSON数据根据可配置的最大和最小块大小拆分为更小的字典或JSON格式字符串的方法。它支持嵌套的JSON结构,可以选择将列表转换为字典以便更好地分块,并允许创建文档对象以供进一步使用。

max_chunk_size#

每个块的最大大小。默认为2000。

Type:

整数

min_chunk_size#

每个块的最小大小,如果未明确提供,则从max_chunk_size派生。

Type:

整数

初始化文本处理的块大小配置。

此构造函数设置了最大和最小块大小,确保如果未明确提供,min_chunk_size 默认值略小于 max_chunk_size

Parameters:
  • max_chunk_size (int) – 块的最大大小。默认为2000。

  • min_chunk_size (可选[int]) – 块的最小大小。如果为None,默认为最大块大小减去200,下限为50。

max_chunk_size#

配置的每个块的最大大小。

Type:

整数

min_chunk_size#

配置的每个块的最小大小,如果未明确提供,则从max_chunk_size派生。

Type:

整数

方法

__init__([max_chunk_size, min_chunk_size])

初始化文本处理的块大小配置。

create_documents(texts[, convert_lists, ...])

从一系列JSON对象(字典)创建文档。

split_json(json_data[, convert_lists])

将JSON分割成多个JSON块。

split_text(json_data[, convert_lists, ...])

将JSON分割成JSON格式的字符串列表。

__init__(max_chunk_size: int = 2000, min_chunk_size: int | None = None)[来源]#

初始化文本处理的块大小配置。

此构造函数设置了最大和最小块大小,确保如果未明确提供,min_chunk_size 默认值略小于 max_chunk_size

Parameters:
  • max_chunk_size (int) – 块的最大大小。默认为2000。

  • min_chunk_size (可选[int]) – 块的最小大小。如果为None,默认为最大块大小减去200,下限为50。

max_chunk_size#

配置的每个块的最大大小。

Type:

整数

min_chunk_size#

配置的每个块的最小大小,如果未明确提供,则从max_chunk_size派生。

Type:

整数

create_documents(texts: List[Dict], convert_lists: bool = False, ensure_ascii: bool = True, metadatas: List[dict] | None = None) List[Document][source]#

从json对象(字典)列表创建文档。

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

  • convert_lists (bool)

  • ensure_ascii (bool)

  • metadatas (列表[字典] | )

Return type:

列表[文档]

split_json(json_data: Dict[str, Any], convert_lists: bool = False) List[Dict][source]#

将JSON分割成JSON块的列表。

Parameters:
  • json_data (Dict[str, Any])

  • convert_lists (bool)

Return type:

列表[字典]

split_text(json_data: Dict[str, Any], convert_lists: bool = False, ensure_ascii: bool = True) List[str][source]#

将JSON分割成JSON格式的字符串列表。

Parameters:
  • json_data (Dict[str, Any])

  • convert_lists (bool)

  • ensure_ascii (bool)

Return type:

列表[str]

使用 RecursiveJsonSplitter 的示例