免費企業(yè)網(wǎng)站cms系統(tǒng)網(wǎng)絡(luò)營銷成功案例ppt免費
大語言模型分詞的 chunk_size 和 chunk_overlap
- 1. 什么是 chunk_size 和 chunk_overlap
- 2. 實際驗證
1. 什么是 chunk_size 和 chunk_overlap
對于大型語言模型如GPT-3等來說,chunk_size和chunk_overlap通常指的是文本序列的切分參數(shù):
chunk_size: 對輸入文本序列進(jìn)行切分的最大長度。大語言模型一般會限制最大輸入序列長度,比如GPT-3的最大輸入長度是2048個token。為了處理更長的文本,需要切分成多個chunk,chunk_size控制每個chunk的最大長度。
chunk_overlap: 相鄰兩個chunk之間的重疊token數(shù)量。為了保證文本語義的連貫性,相鄰chunk會有一定的重疊。chunk_overlap控制這個重疊區(qū)域的大小。
舉例來說,如果chunk_size設(shè)為1024,chunk_overlap設(shè)為128,則對一個長度為2560的文本序列,會切分成3個chunk:
chunk 1: 第1-1024個token
chunk 2: 第897-1920個token (與chunk 1重疊128個)
chunk 3: 第1793-2560個token (與chunk 2重疊128個)
這樣的切分方式既滿足了最大長度限制,也保證了相鄰chunk間語義的銜接。適當(dāng)?shù)腸hunk大小和重疊可以提升大語言模型處理長文本的流暢性和連貫性。
2. 實際驗證
先創(chuàng)建要給測試文檔,命名為 sidamingzhu.txt
,里面包括了“三打白骨精”、“桃園結(jié)義”、"武松打虎"的故事。
《西游記》中“三打白骨精”的故事原文:話說唐僧師徒四人西天取經(jīng),途經(jīng)白虎嶺。白虎嶺上有個妖怪,名叫白骨精。白骨精是一個老妖怪,她已經(jīng)死了幾百年,只剩下一堆白骨。她為了吃唐僧肉,就變幻成一個美麗的女子,來引誘唐僧。孫悟空知道白骨精是妖怪,就去阻止她。白骨精見孫悟空來,就變幻成一個村姑,說自己是來賣棗的。孫悟空不相信,就用金箍棒打死了她。白骨精死了,但她并沒有死透。她又變幻成一個老婦人,來找唐僧。孫悟空又去阻止她,又用金箍棒打死了她。白骨精死了兩次,但她還是沒有死透。她又變幻成一個老公公,來找唐僧。孫悟空又去阻止她,又用金箍棒打死了她。唐僧見孫悟空三次打死人,就很生氣。他把孫悟空趕回了花果山。孫悟空知道唐僧被妖怪迷惑,就再次趕來救唐僧。他找到了白骨精,用金箍棒打死了她。唐僧這才知道孫悟空是好心,就把孫悟空接回了隊伍?!度龂萘x》中“桃園三結(jié)義”的故事原文:話說宴罷,天色已晚,眾人散去。劉備留下關(guān)張二人,以兄事之。過了幾日,謀曰:“吾與二君,雖異姓,然宗室也。今天下大亂,正要人才。若能俱發(fā)義心,救動倉皇;聯(lián)合英雄,扶大道。此吾三人之有也。”張飛曰:“若要發(fā)大義,當(dāng)如之何?”劉備曰:“今日天色晚了,明日清早,我們同去桃園,契約志同?!贝稳?三人同至桃園,劉備事先示意關(guān)張二人,各持一枝桃花,致告天地曰:“吾等三人,雖異姓,宗室也;今天下大亂,列國混戰(zhàn),正當(dāng)漢室衰微之秋。此時天下豪杰,并起義兵,各據(jù)州郡。唯有美意,救漢室于危亡。吾等三人,不求得州牧,不求得侯王,愿出心肝薦軫,誓將清君側(cè),興復(fù)漢室!此心此義,使天日月為證,使星辰為鑒,無貳其志,殊死隨之。如背盟約,無妾百福!”三人各自對天地、日月星辰發(fā)誓,然后兩兩互持桃枝彼此磕頭,作兄弟之禮,場面極為隆重感人。自此,劉關(guān)張三人正式結(jié)拜為交心之兄弟?!端疂G傳》中“武松打虎”的故事原文:武大郎忍痛抽筋,往后瞧時,只見那猛虎掄起鐵棒,向自己直撲將來。武大郎使開雙戟,側(cè)身讓過。那猛虎撲了一空,回頭又撲。武大郎舉戟架住,口中大呼:“我奉王命,捉你回去論罪!”那猛虎被他這一架,戟鋼扎疼了手,發(fā)起狠來,向武大郎直撲。武大郎使開戟去迎戰(zhàn)。二人戰(zhàn)了十余合,打得難解難分。這虎本是山中猛蟲,十分兇悍。這一場惡戰(zhàn),戰(zhàn)不到五十合,武大郎手軟筋麻,使不動戟,只得拔了武松的寶貝青龍偃月刀,向前迎敵。這一場好殺:武大郎左閃右避,虎撲不著;虎右藏左藏,武大郎砍不著。打到第三十合,那猛虎撲空,回頭待撲,武大郎舉刀往下一砍,砍斷它的兩只前腿。那猛虎痛得嗷嗷亂叫,后腿著地,要向武大郎撲將來。武大郎順手又一刀,把它一只后腿也砍斷。
示例代碼,
# import
from langchain.embeddings.sentence_transformer import SentenceTransformerEmbeddings
from langchain.text_splitter import CharacterTextSplitter
from langchain.vectorstores import Chroma
from langchain.document_loaders import TextLoader# load the document and split it into chunks
loader = TextLoader(".\sidamingzhu.txt", encoding="utf-8")
documents = loader.load()
設(shè)置 chunk_size=100
,
# split it into chunks
text_splitter = CharacterTextSplitter(chunk_size=100, chunk_overlap=0)
docs = text_splitter.split_documents(documents)
print("len(docs):", len(docs))
for doc in docs:print("="*50)print(len(doc.page_content),":", doc)
輸出結(jié)果,
len(docs): 14
==================================================
86 : page_content='《西游記》中“三打白骨精”的故事原文:\n\n話說唐僧師徒四人西天取經(jīng),途經(jīng)白虎嶺。\n\n白虎嶺上有個妖怪,名叫白骨精。\n\n白骨精是一個老妖怪,她已經(jīng)死了幾百年,只剩下一堆白骨。' metadata={'source': '.\\sidamingzhu.txt'}
==================================================
94 : page_content='她為了吃唐僧肉,就變幻成一個美麗的女子,來引誘唐僧。\n\n孫悟空知道白骨精是妖怪,就去阻止她。\n\n白骨精見孫悟空來,就變幻成一個村姑,說自己是來賣棗的。\n\n孫悟空不相信,就用金箍棒打死了她。' metadata={'source': '.\\sidamingzhu.txt'}
==================================================
90 : page_content='白骨精死了,但她并沒有死透。\n\n她又變幻成一個老婦人,來找唐僧。\n\n孫悟空又去阻止她,又用金箍棒打死了她。\n\n白骨精死了兩次,但她還是沒有死透。\n\n她又變幻成一個老公公,來找唐僧。' metadata={'source': '.\\sidamingzhu.txt'}
==================================================
95 : page_content='孫悟空又去阻止她,又用金箍棒打死了她。\n\n唐僧見孫悟空三次打死人,就很生氣。\n\n他把孫悟空趕回了花果山。\n\n孫悟空知道唐僧被妖怪迷惑,就再次趕來救唐僧。\n\n他找到了白骨精,用金箍棒打死了她。' metadata={'source': '.\\sidamingzhu.txt'}
==================================================
79 : page_content='唐僧這才知道孫悟空是好心,就把孫悟空接回了隊伍。\n\n《三國演義》中“桃園三結(jié)義”的故事原文:\n\n話說宴罷,天色已晚,眾人散去。\n\n劉備留下關(guān)張二人,以兄事之。' metadata={'source': '.\\sidamingzhu.txt'}
==================================================
89 : page_content='過了幾日,謀曰:“吾與二君,雖異姓,然宗室也。\n\n今天下大亂,正要人才。\n\n若能俱發(fā)義心,救動倉皇;聯(lián)合英雄,扶大道。\n\n此吾三人之有也。\n\n”張飛曰:“若要發(fā)大義,當(dāng)如之何?”' metadata={'source': '.\\sidamingzhu.txt'}
==================================================
66 : page_content='劉備曰:“今日天色晚了,明日清早,我們同去桃園,契約志同?!盶n\n次日,三人同至桃園,劉備事先示意關(guān)張二人,各持一枝桃花,致告天地曰:' metadata={'source': '.\\sidamingzhu.txt'}
==================================================
65 : page_content='“吾等三人,雖異姓,宗室也;今天下大亂,列國混戰(zhàn),正當(dāng)漢室衰微之秋。\n\n此時天下豪杰,并起義兵,各據(jù)州郡。唯有美意,救漢室于危亡。' metadata={'source': '.\\sidamingzhu.txt'}
==================================================
76 : page_content='吾等三人,不求得州牧,不求得侯王,愿出心肝薦軫,誓將清君側(cè),興復(fù)漢室!此心此義,使天日月為證,使星辰為鑒,無貳其志,殊死隨之。\n\n如背盟約,無妾百福!”' metadata={'source': '.\\sidamingzhu.txt'}
==================================================
84 : page_content='三人各自對天地、日月星辰發(fā)誓,然后兩兩互持桃枝彼此磕頭,作兄弟之禮,場面極為隆重感人。\n\n自此,劉關(guān)張三人正式結(jié)拜為交心之兄弟。\n\n《水滸傳》中“武松打虎”的故事原文:' metadata={'source': '.\\sidamingzhu.txt'}
==================================================
88 : page_content='武大郎忍痛抽筋,往后瞧時,只見那猛虎掄起鐵棒,向自己直撲將來。\n\n武大郎使開雙戟,側(cè)身讓過。那猛虎撲了一空,回頭又撲。\n\n武大郎舉戟架住,口中大呼:“我奉王命,捉你回去論罪!”' metadata={'source': '.\\sidamingzhu.txt'}
==================================================
71 : page_content='那猛虎被他這一架,戟鋼扎疼了手,發(fā)起狠來,向武大郎直撲。\n\n武大郎使開戟去迎戰(zhàn)。二人戰(zhàn)了十余合,打得難解難分。\n\n這虎本是山中猛蟲,十分兇悍。' metadata={'source': '.\\sidamingzhu.txt'}
==================================================
80 : page_content='這一場惡戰(zhàn),戰(zhàn)不到五十合,武大郎手軟筋麻,使不動戟,只得拔了武松的寶貝青龍偃月刀,向前迎敵。\n\n這一場好殺:武大郎左閃右避,虎撲不著;虎右藏左藏,武大郎砍不著。' metadata={'source': '.\\sidamingzhu.txt'}
==================================================
84 : page_content='打到第三十合,那猛虎撲空,回頭待撲,武大郎舉刀往下一砍,砍斷它的兩只前腿。\n\n那猛虎痛得嗷嗷亂叫,后腿著地,要向武大郎撲將來。\n\n武大郎順手又一刀,把它一只后腿也砍斷。' metadata={'source': '.\\sidamingzhu.txt'}
設(shè)置 chunk_size=200
,
# split it into chunks
text_splitter = CharacterTextSplitter(chunk_size=200, chunk_overlap=0)
docs = text_splitter.split_documents(documents)
print("len(docs):", len(docs))
for doc in docs:print("="*50)print(len(doc.page_content),":", doc)
輸出結(jié)果,
len(docs): 7
==================================================
198 : page_content='《西游記》中“三打白骨精”的故事原文:\n\n話說唐僧師徒四人西天取經(jīng),途經(jīng)白虎嶺。\n\n白虎嶺上有個妖怪,名叫白骨精。\n\n白骨精是一個老妖怪,她已經(jīng)死了幾百年,只剩下一堆白骨。\n\n她為了吃唐僧肉,就變幻成一個美麗的女子,來引誘唐僧。\n\n孫悟空知道白骨精是妖怪,就去阻止她。\n\n白骨精見孫悟空來,就變幻成一個村姑,說自己是來賣棗的。\n\n孫悟空不相信,就用金箍棒打死了她。\n\n白骨精死了,但她并沒有死透。' metadata={'source': '.\\sidamingzhu.txt'}
==================================================
197 : page_content='她又變幻成一個老婦人,來找唐僧。\n\n孫悟空又去阻止她,又用金箍棒打死了她。\n\n白骨精死了兩次,但她還是沒有死透。\n\n她又變幻成一個老公公,來找唐僧。\n\n孫悟空又去阻止她,又用金箍棒打死了她。\n\n唐僧見孫悟空三次打死人,就很生氣。\n\n他把孫悟空趕回了花果山。\n\n孫悟空知道唐僧被妖怪迷惑,就再次趕來救唐僧。\n\n他找到了白骨精,用金箍棒打死了她。\n\n唐僧這才知道孫悟空是好心,就把孫悟空接回了隊伍。' metadata={'source': '.\\sidamingzhu.txt'}
==================================================
176 : page_content='《三國演義》中“桃園三結(jié)義”的故事原文:\n\n話說宴罷,天色已晚,眾人散去。\n\n劉備留下關(guān)張二人,以兄事之。\n\n過了幾日,謀曰:“吾與二君,雖異姓,然宗室也。\n\n今天下大亂,正要人才。\n\n若能俱發(fā)義心,救動倉皇;聯(lián)合英雄,扶大道。\n\n此吾三人之有也。\n\n”張飛曰:“若要發(fā)大義,當(dāng)如之何?”\n\n劉備曰:“今日天色晚了,明日清早,我們同去桃園,契約志同?!?#39; metadata={'source': '.\\sidamingzhu.txt'}
==================================================
179 : page_content='次日,三人同至桃園,劉備事先示意關(guān)張二人,各持一枝桃花,致告天地曰:\n\n“吾等三人,雖異姓,宗室也;今天下大亂,列國混戰(zhàn),正當(dāng)漢室衰微之秋。\n\n此時天下豪杰,并起義兵,各據(jù)州郡。唯有美意,救漢室于危亡。\n\n吾等三人,不求得州牧,不求得侯王,愿出心肝薦軫,誓將清君側(cè),興復(fù)漢室!此心此義,使天日月為證,使星辰為鑒,無貳其志,殊死隨之。\n\n如背盟約,無妾百福!”' metadata={'source': '.\\sidamingzhu.txt'}
==================================================
174 : page_content='三人各自對天地、日月星辰發(fā)誓,然后兩兩互持桃枝彼此磕頭,作兄弟之禮,場面極為隆重感人。\n\n自此,劉關(guān)張三人正式結(jié)拜為交心之兄弟。\n\n《水滸傳》中“武松打虎”的故事原文:\n\n武大郎忍痛抽筋,往后瞧時,只見那猛虎掄起鐵棒,向自己直撲將來。\n\n武大郎使開雙戟,側(cè)身讓過。那猛虎撲了一空,回頭又撲。\n\n武大郎舉戟架住,口中大呼:“我奉王命,捉你回去論罪!”' metadata={'source': '.\\sidamingzhu.txt'}
==================================================
192 : page_content='那猛虎被他這一架,戟鋼扎疼了手,發(fā)起狠來,向武大郎直撲。\n\n武大郎使開戟去迎戰(zhàn)。二人戰(zhàn)了十余合,打得難解難分。\n\n這虎本是山中猛蟲,十分兇悍。\n\n這一場惡戰(zhàn),戰(zhàn)不到五十合,武大郎手軟筋麻,使不動戟,只得拔了武松的寶貝青龍偃月刀,向前迎敵。\n\n這一場好殺:武大郎左閃右避,虎撲不著;虎右藏左藏,武大郎砍不著。\n\n打到第三十合,那猛虎撲空,回頭待撲,武大郎舉刀往下一砍,砍斷它的兩只前腿。' metadata={'source': '.\\sidamingzhu.txt'}
==================================================
45 : page_content='那猛虎痛得嗷嗷亂叫,后腿著地,要向武大郎撲將來。\n\n武大郎順手又一刀,把它一只后腿也砍斷。' metadata={'source': '.\\sidamingzhu.txt'}
設(shè)置 chunk_size=300
,
# split it into chunks
text_splitter = CharacterTextSplitter(chunk_size=300, chunk_overlap=0)
docs = text_splitter.split_documents(documents)
print("len(docs):", len(docs))
for doc in docs:print("="*50)print(len(doc.page_content),":", doc)
輸出結(jié)果,
len(docs): 4
==================================================
295 : page_content='《西游記》中“三打白骨精”的故事原文:\n\n話說唐僧師徒四人西天取經(jīng),途經(jīng)白虎嶺。\n\n白虎嶺上有個妖怪,名叫白骨精。\n\n白骨精是一個老妖怪,她已經(jīng)死了幾百年,只剩下一堆白骨。\n\n她為了吃唐僧肉,就變幻成一個美麗的女子,來引誘唐僧。\n\n孫悟空知道白骨精是妖怪,就去阻止她。\n\n白骨精見孫悟空來,就變幻成一個村姑,說自己是來賣棗的。\n\n孫悟空不相信,就用金箍棒打死了她。\n\n白骨精死了,但她并沒有死透。\n\n她又變幻成一個老婦人,來找唐僧。\n\n孫悟空又去阻止她,又用金箍棒打死了她。\n\n白骨精死了兩次,但她還是沒有死透。\n\n她又變幻成一個老公公,來找唐僧。\n\n孫悟空又去阻止她,又用金箍棒打死了她。' metadata={'source': '.\\sidamingzhu.txt'}
==================================================
278 : page_content='唐僧見孫悟空三次打死人,就很生氣。\n\n他把孫悟空趕回了花果山。\n\n孫悟空知道唐僧被妖怪迷惑,就再次趕來救唐僧。\n\n他找到了白骨精,用金箍棒打死了她。\n\n唐僧這才知道孫悟空是好心,就把孫悟空接回了隊伍。\n\n《三國演義》中“桃園三結(jié)義”的故事原文:\n\n話說宴罷,天色已晚,眾人散去。\n\n劉備留下關(guān)張二人,以兄事之。\n\n過了幾日,謀曰:“吾與二君,雖異姓,然宗室也。\n\n今天下大亂,正要人才。\n\n若能俱發(fā)義心,救動倉皇;聯(lián)合英雄,扶大道。\n\n此吾三人之有也。\n\n”張飛曰:“若要發(fā)大義,當(dāng)如之何?”\n\n劉備曰:“今日天色晚了,明日清早,我們同去桃園,契約志同?!?#39; metadata={'source': '.\\sidamingzhu.txt'}
==================================================
298 : page_content='次日,三人同至桃園,劉備事先示意關(guān)張二人,各持一枝桃花,致告天地曰:\n\n“吾等三人,雖異姓,宗室也;今天下大亂,列國混戰(zhàn),正當(dāng)漢室衰微之秋。\n\n此時天下豪杰,并起義兵,各據(jù)州郡。唯有美意,救漢室于危亡。\n\n吾等三人,不求得州牧,不求得侯王,愿出心肝薦軫,誓將清君側(cè),興復(fù)漢室!此心此義,使天日月為證,使星辰為鑒,無貳其志,殊死隨之。\n\n如背盟約,無妾百福!”\n\n三人各自對天地、日月星辰發(fā)誓,然后兩兩互持桃枝彼此磕頭,作兄弟之禮,場面極為隆重感人。\n\n自此,劉關(guān)張三人正式結(jié)拜為交心之兄弟。\n\n《水滸傳》中“武松打虎”的故事原文:\n\n武大郎忍痛抽筋,往后瞧時,只見那猛虎掄起鐵棒,向自己直撲將來。' metadata={'source': '.\\sidamingzhu.txt'}
==================================================
296 : page_content='武大郎使開雙戟,側(cè)身讓過。那猛虎撲了一空,回頭又撲。\n\n武大郎舉戟架住,口中大呼:“我奉王命,捉你回去論罪!”\n\n那猛虎被他這一架,戟鋼扎疼了手,發(fā)起狠來,向武大郎直撲。\n\n武大郎使開戟去迎戰(zhàn)。二人戰(zhàn)了十余合,打得難解難分。\n\n這虎本是山中猛蟲,十分兇悍。\n\n這一場惡戰(zhàn),戰(zhàn)不到五十合,武大郎手軟筋麻,使不動戟,只得拔了武松的寶貝青龍偃月刀,向前迎敵。\n\n這一場好殺:武大郎左閃右避,虎撲不著;虎右藏左藏,武大郎砍不著。\n\n打到第三十合,那猛虎撲空,回頭待撲,武大郎舉刀往下一砍,砍斷它的兩只前腿。\n\n那猛虎痛得嗷嗷亂叫,后腿著地,要向武大郎撲將來。\n\n武大郎順手又一刀,把它一只后腿也砍斷。' metadata={'source': '.\\sidamingzhu.txt'}
保持 chunk_size=300
,設(shè)置 chunk_overlap=50
,
# split it into chunks
text_splitter = CharacterTextSplitter(chunk_size=300, chunk_overlap=50)
docs = text_splitter.split_documents(documents)
print("len(docs):", len(docs))
for doc in docs:print("="*50)print(len(doc.page_content),":", doc)
輸出結(jié)果,
len(docs): 5
==================================================
295 : page_content='《西游記》中“三打白骨精”的故事原文:\n\n話說唐僧師徒四人西天取經(jīng),途經(jīng)白虎嶺。\n\n白虎嶺上有個妖怪,名叫白骨精。\n\n白骨精是一個老妖怪,她已經(jīng)死了幾百年,只剩下一堆白骨。\n\n她為了吃唐僧肉,就變幻成一個美麗的女子,來引誘唐僧。\n\n孫悟空知道白骨精是妖怪,就去阻止她。\n\n白骨精見孫悟空來,就變幻成一個村姑,說自己是來賣棗的。\n\n孫悟空不相信,就用金箍棒打死了她。\n\n白骨精死了,但她并沒有死透。\n\n她又變幻成一個老婦人,來找唐僧。\n\n孫悟空又去阻止她,又用金箍棒打死了她。\n\n白骨精死了兩次,但她還是沒有死透。\n\n她又變幻成一個老公公,來找唐僧。\n\n孫悟空又去阻止她,又用金箍棒打死了她。' metadata={'source': '.\\sidamingzhu.txt'}
==================================================
285 : page_content='她又變幻成一個老公公,來找唐僧。\n\n孫悟空又去阻止她,又用金箍棒打死了她。\n\n唐僧見孫悟空三次打死人,就很生氣。\n\n他把孫悟空趕回了花果山。\n\n孫悟空知道唐僧被妖怪迷惑,就再次趕來救唐僧。\n\n他找到了白骨精,用金箍棒打死了她。\n\n唐僧這才知道孫悟空是好心,就把孫悟空接回了隊伍。\n\n《三國演義》中“桃園三結(jié)義”的故事原文:\n\n話說宴罷,天色已晚,眾人散去。\n\n劉備留下關(guān)張二人,以兄事之。\n\n過了幾日,謀曰:“吾與二君,雖異姓,然宗室也。\n\n今天下大亂,正要人才。\n\n若能俱發(fā)義心,救動倉皇;聯(lián)合英雄,扶大道。\n\n此吾三人之有也。\n\n”張飛曰:“若要發(fā)大義,當(dāng)如之何?”' metadata={'source': '.\\sidamingzhu.txt'}
==================================================
286 : page_content='此吾三人之有也。\n\n”張飛曰:“若要發(fā)大義,當(dāng)如之何?”\n\n劉備曰:“今日天色晚了,明日清早,我們同去桃園,契約志同?!盶n\n次日,三人同至桃園,劉備事先示意關(guān)張二人,各持一枝桃花,致告天地曰:\n\n“吾等三人,雖異姓,宗室也;今天下大亂,列國混戰(zhàn),正當(dāng)漢室衰微之秋。\n\n此時天下豪杰,并起義兵,各據(jù)州郡。唯有美意,救漢室于危亡。\n\n吾等三人,不求得州牧,不求得侯王,愿出心肝薦軫,誓將清君側(cè),興復(fù)漢室!此心此義,使天日月為證,使星辰為鑒,無貳其志,殊死隨之。\n\n如背盟約,無妾百福!”\n\n三人各自對天地、日月星辰發(fā)誓,然后兩兩互持桃枝彼此磕頭,作兄弟之禮,場面極為隆重感人。' metadata={'source': '.\\sidamingzhu.txt'}
==================================================
295 : page_content='三人各自對天地、日月星辰發(fā)誓,然后兩兩互持桃枝彼此磕頭,作兄弟之禮,場面極為隆重感人。\n\n自此,劉關(guān)張三人正式結(jié)拜為交心之兄弟。\n\n《水滸傳》中“武松打虎”的故事原文:\n\n武大郎忍痛抽筋,往后瞧時,只見那猛虎掄起鐵棒,向自己直撲將來。\n\n武大郎使開雙戟,側(cè)身讓過。那猛虎撲了一空,回頭又撲。\n\n武大郎舉戟架住,口中大呼:“我奉王命,捉你回去論罪!”\n\n那猛虎被他這一架,戟鋼扎疼了手,發(fā)起狠來,向武大郎直撲。\n\n武大郎使開戟去迎戰(zhàn)。二人戰(zhàn)了十余合,打得難解難分。\n\n這虎本是山中猛蟲,十分兇悍。\n\n這一場惡戰(zhàn),戰(zhàn)不到五十合,武大郎手軟筋麻,使不動戟,只得拔了武松的寶貝青龍偃月刀,向前迎敵。' metadata={'source': '.\\sidamingzhu.txt'}
==================================================
166 : page_content='這一場惡戰(zhàn),戰(zhàn)不到五十合,武大郎手軟筋麻,使不動戟,只得拔了武松的寶貝青龍偃月刀,向前迎敵。\n\n這一場好殺:武大郎左閃右避,虎撲不著;虎右藏左藏,武大郎砍不著。\n\n打到第三十合,那猛虎撲空,回頭待撲,武大郎舉刀往下一砍,砍斷它的兩只前腿。\n\n那猛虎痛得嗷嗷亂叫,后腿著地,要向武大郎撲將來。\n\n武大郎順手又一刀,把它一只后腿也砍斷。' metadata={'source': '.\\sidamingzhu.txt'}
保持 chunk_size=300
,設(shè)置 chunk_overlap=100
,
# split it into chunks
text_splitter = CharacterTextSplitter(chunk_size=300, chunk_overlap=100)
docs = text_splitter.split_documents(documents)
print("len(docs):", len(docs))
for doc in docs:print("="*50)print(len(doc.page_content),":", doc)
輸出結(jié)果,
len(docs): 6
==================================================
295 : page_content='《西游記》中“三打白骨精”的故事原文:\n\n話說唐僧師徒四人西天取經(jīng),途經(jīng)白虎嶺。\n\n白虎嶺上有個妖怪,名叫白骨精。\n\n白骨精是一個老妖怪,她已經(jīng)死了幾百年,只剩下一堆白骨。\n\n她為了吃唐僧肉,就變幻成一個美麗的女子,來引誘唐僧。\n\n孫悟空知道白骨精是妖怪,就去阻止她。\n\n白骨精見孫悟空來,就變幻成一個村姑,說自己是來賣棗的。\n\n孫悟空不相信,就用金箍棒打死了她。\n\n白骨精死了,但她并沒有死透。\n\n她又變幻成一個老婦人,來找唐僧。\n\n孫悟空又去阻止她,又用金箍棒打死了她。\n\n白骨精死了兩次,但她還是沒有死透。\n\n她又變幻成一個老公公,來找唐僧。\n\n孫悟空又去阻止她,又用金箍棒打死了她。' metadata={'source': '.\\sidamingzhu.txt'}
==================================================
290 : page_content='她又變幻成一個老婦人,來找唐僧。\n\n孫悟空又去阻止她,又用金箍棒打死了她。\n\n白骨精死了兩次,但她還是沒有死透。\n\n她又變幻成一個老公公,來找唐僧。\n\n孫悟空又去阻止她,又用金箍棒打死了她。\n\n唐僧見孫悟空三次打死人,就很生氣。\n\n他把孫悟空趕回了花果山。\n\n孫悟空知道唐僧被妖怪迷惑,就再次趕來救唐僧。\n\n他找到了白骨精,用金箍棒打死了她。\n\n唐僧這才知道孫悟空是好心,就把孫悟空接回了隊伍。\n\n《三國演義》中“桃園三結(jié)義”的故事原文:\n\n話說宴罷,天色已晚,眾人散去。\n\n劉備留下關(guān)張二人,以兄事之。\n\n過了幾日,謀曰:“吾與二君,雖異姓,然宗室也。\n\n今天下大亂,正要人才。' metadata={'source': '.\\sidamingzhu.txt'}
==================================================
279 : page_content='《三國演義》中“桃園三結(jié)義”的故事原文:\n\n話說宴罷,天色已晚,眾人散去。\n\n劉備留下關(guān)張二人,以兄事之。\n\n過了幾日,謀曰:“吾與二君,雖異姓,然宗室也。\n\n今天下大亂,正要人才。\n\n若能俱發(fā)義心,救動倉皇;聯(lián)合英雄,扶大道。\n\n此吾三人之有也。\n\n”張飛曰:“若要發(fā)大義,當(dāng)如之何?”\n\n劉備曰:“今日天色晚了,明日清早,我們同去桃園,契約志同?!盶n\n次日,三人同至桃園,劉備事先示意關(guān)張二人,各持一枝桃花,致告天地曰:\n\n“吾等三人,雖異姓,宗室也;今天下大亂,列國混戰(zhàn),正當(dāng)漢室衰微之秋。\n\n此時天下豪杰,并起義兵,各據(jù)州郡。唯有美意,救漢室于危亡。' metadata={'source': '.\\sidamingzhu.txt'}
==================================================
290 : page_content='“吾等三人,雖異姓,宗室也;今天下大亂,列國混戰(zhàn),正當(dāng)漢室衰微之秋。\n\n此時天下豪杰,并起義兵,各據(jù)州郡。唯有美意,救漢室于危亡。\n\n吾等三人,不求得州牧,不求得侯王,愿出心肝薦軫,誓將清君側(cè),興復(fù)漢室!此心此義,使天日月為證,使星辰為鑒,無貳其志,殊死隨之。\n\n如背盟約,無妾百福!”\n\n三人各自對天地、日月星辰發(fā)誓,然后兩兩互持桃枝彼此磕頭,作兄弟之禮,場面極為隆重感人。\n\n自此,劉關(guān)張三人正式結(jié)拜為交心之兄弟。\n\n《水滸傳》中“武松打虎”的故事原文:\n\n武大郎忍痛抽筋,往后瞧時,只見那猛虎掄起鐵棒,向自己直撲將來。\n\n武大郎使開雙戟,側(cè)身讓過。那猛虎撲了一空,回頭又撲。' metadata={'source': '.\\sidamingzhu.txt'}
==================================================
284 : page_content='自此,劉關(guān)張三人正式結(jié)拜為交心之兄弟。\n\n《水滸傳》中“武松打虎”的故事原文:\n\n武大郎忍痛抽筋,往后瞧時,只見那猛虎掄起鐵棒,向自己直撲將來。\n\n武大郎使開雙戟,側(cè)身讓過。那猛虎撲了一空,回頭又撲。\n\n武大郎舉戟架住,口中大呼:“我奉王命,捉你回去論罪!”\n\n那猛虎被他這一架,戟鋼扎疼了手,發(fā)起狠來,向武大郎直撲。\n\n武大郎使開戟去迎戰(zhàn)。二人戰(zhàn)了十余合,打得難解難分。\n\n這虎本是山中猛蟲,十分兇悍。\n\n這一場惡戰(zhàn),戰(zhàn)不到五十合,武大郎手軟筋麻,使不動戟,只得拔了武松的寶貝青龍偃月刀,向前迎敵。\n\n這一場好殺:武大郎左閃右避,虎撲不著;虎右藏左藏,武大郎砍不著。' metadata={'source': '.\\sidamingzhu.txt'}
==================================================
182 : page_content='這虎本是山中猛蟲,十分兇悍。\n\n這一場惡戰(zhàn),戰(zhàn)不到五十合,武大郎手軟筋麻,使不動戟,只得拔了武松的寶貝青龍偃月刀,向前迎敵。\n\n這一場好殺:武大郎左閃右避,虎撲不著;虎右藏左藏,武大郎砍不著。\n\n打到第三十合,那猛虎撲空,回頭待撲,武大郎舉刀往下一砍,砍斷它的兩只前腿。\n\n那猛虎痛得嗷嗷亂叫,后腿著地,要向武大郎撲將來。\n\n武大郎順手又一刀,把它一只后腿也砍斷。' metadata={'source': '.\\sidamingzhu.txt'}
完結(jié)!