5.3.7 JSON文本分割器
在LangChain中,JSON文本分割器RecursiveJsonSplitter用于递归地将大型JSON文档分割成较小的片段。RecursiveJsonSplitter能够根据指定的最小块大小和最大块大小来拆分JSON文档,并尽可能保持嵌套的JSON对象完整。
LangChain中JSON文本分割器的主要特点如下所示:
- 递归分割:分割器采用深度优先遍历方式递归地遍历JSON数据,并根据指定的条件进行分割。这意味着它会尝试保持嵌套的JSON对象完整,但如果需要保持块的大小在最小和最大块大小之间,则可能会对它们进行拆分。
- 最小和最大块大小:用户可以指定分割后的块的最小和最大大小。如果块的大小超出了指定范围,分割器会对其进行拆分,以确保块的大小在合适的范围内。
- 处理列表:在默认情况下,分割器不会直接拆分列表,而是保留它们的完整性。但是,用户可以选择将列表预处理为字典,并在拆分过程中将其转换回JSON格式。
- 输出格式:分割器可以产生多种输出格式,包括JSON字符串、文档列表等。用户可以根据需要选择合适的输出格式。
- 拆分方法:可以通