LangChain:文本切割器TextSplitter的split_documents()与split_text()
在 LangChain
库中,文本切割器基类TextSplitter
提供了split_documents()
和 split_text()
两个切割方法常用的文本分割方法。
TextSplitter
的子类都继承的这两个方法。下面分别介绍它们的作用和区别。
text_splitter.split_documents()
功能
split_documents()
方法用于将包含多个 Document
对象的列表拆分成更小的 Document
对象列表。每个 Document
对象一般包含文本内容(page_content
属性)和元数据(metadata
属性)。该方法在拆分文本时会保留原始文档的元数据,这在处理需要关联元数据的场景下非常有用,比如文档来源、创建时间等信息。
参数
documents
:一个包含Document
对象的列表,这些对象是需要被拆分的文档。
返回值
返回一个新的 Document
对象列表,每个对象代表拆分后的一个文本块,并且保留了原始文档的元数据。
代码示例
1 | from langchain_text_splitters import CharacterTextSplitter |
代码结果
分割的文本块保留了元数据。
1 | 2024年是实现“十四五”规划目标任务的关键一年。中央经济工作会议明确提出稳中求进的工作总基调,要求扎实推动高质量发展。上市公司是加快培育新质生产力的重要载体,肩负着实现高质量发展的时代使命。 |
text_splitter.split_text()
功能
split_text()
方法用于将单个字符串拆分成多个较小的字符串列表。该方法只关注文本内容的拆分,不会处理元数据,适用于只需要处理纯文本的场景。
参数
text
:需要被拆分的字符串。
返回值
返回一个字符串列表,每个字符串代表拆分后的一个文本块。
代码示例
1 | from langchain_text_splitters import CharacterTextSplitter |
代码结果
分割的文本块没有元数据,只返回字符串列表。
1 | 2024年是实现“十四五”规划目标任务的关键一年。中央经济工作会议明确提出稳中求进的工作总基调,要求扎实推动高质量发展。上市公司是加快培育新质生产力的重要载体,肩负着实现高质量发展的时代使命。 |
总结
split_documents()
:处理Document
对象列表,拆分后保留元数据,返回Document
对象列表。split_text()
:处理单个字符串,只关注文本拆分,返回字符串列表。
LangChain:文本切割器TextSplitter的split_documents()与split_text()
http://blog.gxitsky.com/2025/05/31/AI-LangChain-014-TextSplitter-text/