在使用Langchain的文档分割器时,使用CharacterTextSplitter
拆分文档是,发现返回的文档根本没有变化,即使设置了chunk_size
,返回的大小也不符合参数设置。
CharacterTextSplitter
设置了150,但是根本没有处理,长度减少单纯是因为去掉了一些开头和末尾的空格。
点进CharacterTextSplitter
看一看,只重写了split_text
方法。
再点进去TextSplitter
看一眼
首先是把文档拆开,内容单词放在列表里,是一个存放字符串的列表。
然后使用create_documents
来处理拆分工作。
这里使用了CharacterTextSplitter
内重写的拆分方法,我们看一看他是怎么拆分的
就是根据选择的拆分字符,拆分成小块后,然后组合到chunk_size那么大,所以如果一开始的拆分就比chunk_size大,那这个拆分根本就不会起作用!
我的建议是使用RecursiveCharacterTextSplitter
,可以正确地拆分较大的文档,拆分成预先定义的大小以及重合方式。