在使用Langchain的文档分割器时,使用CharacterTextSplitter拆分文档是,发现返回的文档根本没有变化,即使设置了chunk_size,返回的大小也不符合参数设置。

CharacterTextSplitter设置了150,但是根本没有处理,长度减少单纯是因为去掉了一些开头和末尾的空格。
点进CharacterTextSplitter看一看,只重写了split_text方法。

再点进去TextSplitter看一眼
首先是把文档拆开,内容单词放在列表里,是一个存放字符串的列表。

然后使用create_documents来处理拆分工作。

这里使用了CharacterTextSplitter内重写的拆分方法,我们看一看他是怎么拆分的

就是根据选择的拆分字符,拆分成小块后,然后组合到chunk_size那么大,所以如果一开始的拆分就比chunk_size大,那这个拆分根本就不会起作用!
我的建议是使用RecursiveCharacterTextSplitter,可以正确地拆分较大的文档,拆分成预先定义的大小以及重合方式。

