递归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:
列表[文档]
使用 RecursiveJsonSplitter 的示例