大语言模型分词的 chunk_size 和 chunk_overlap 说明和验证
大语言模型分词的 chunk_size 和 chunk_overlap
- 1. 什么是 chunk_size 和 chunk_overlap
- 2. 实际验证
1. 什么是 chunk_size 和 chunk_overlap
对于大型语言模型如GPT-3等来说,chunk_size和chunk_overlap通常指的是文本序列的切分参数:
chunk_size: 对输入文本序列进行切分的最大长度。大语言模型一般会限制最大输入序列长度,比如GPT-3的最大输入长度是2048个token。为了处理更长的文本,需要切分成多个chunk,chunk_size控制每个chunk的最大长度。
chunk_overlap: 相邻两个chunk之间的重叠token数量。为了保证文本语义的连贯性,相邻chunk会有一定的重叠。chunk_overlap控制这个重叠区域的大小。
举例来说,如果chunk_size设为1024,chunk_overlap设为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间语义的衔接。适当的chunk大小和重叠可以提升大语言模型处理长文本的流畅性和连贯性。
2. 实际验证
先创建要给测试文档,命名为 sidamingzhu.txt,里面包括了“三打白骨精”、“桃园结义”、"武松打虎"的故事。
《西游记》中“三打白骨精”的故事原文:话说唐僧师徒四人西天取经,途经白虎岭。白虎岭上有个妖怪,名叫白骨精。白骨精是一个老妖怪,她已经死了几百年,只剩下一堆白骨。她为了吃唐僧肉,就变幻成一个美丽的女子,来引诱唐僧。孙悟空知道白骨精是妖怪,就去阻止她。白骨精见孙悟空来,就变幻成一个村姑,说自己是来卖枣的。孙悟空不相信,就用金箍棒打死了她。白骨精死了,但她并没有死透。她又变幻成一个老妇人,来找唐僧。孙悟空又去阻止她,又用金箍棒打死了她。白骨精死了两次,但她还是没有死透。她又变幻成一个老公公,来找唐僧。孙悟空又去阻止她,又用金箍棒打死了她。唐僧见孙悟空三次打死人,就很生气。他把孙悟空赶回了花果山。孙悟空知道唐僧被妖怪迷惑,就再次赶来救唐僧。他找到了白骨精,用金箍棒打死了她。唐僧这才知道孙悟空是好心,就把孙悟空接回了队伍。《三国演义》中“桃园三结义”的故事原文:话说宴罢,天色已晚,众人散去。刘备留下关张二人,以兄事之。过了几日,谋曰:“吾与二君,虽异姓,然宗室也。今天下大乱,正要人才。若能俱发义心,救动仓皇;联合英雄,扶大道。此吾三人之有也。”张飞曰:“若要发大义,当如之何?”刘备曰:“今日天色晚了,明日清早,我们同去桃园,契约志同。”次日,三人同至桃园,刘备事先示意关张二人,各持一枝桃花,致告天地曰:“吾等三人,虽异姓,宗室也;今天下大乱,列国混战,正当汉室衰微之秋。此时天下豪杰,并起义兵,各据州郡。唯有美意,救汉室于危亡。吾等三人,不求得州牧,不求得侯王,愿出心肝荐轸,誓将清君侧,兴复汉室!此心此义,使天日月为证,使星辰为鉴,无贰其志,殊死随之。如背盟约,无妾百福!”三人各自对天地、日月星辰发誓,然后两两互持桃枝彼此磕头,作兄弟之礼,场面极为隆重感人。自此,刘关张三人正式结拜为交心之兄弟。《水浒传》中“武松打虎”的故事原文:武大郎忍痛抽筋,往后瞧时,只见那猛虎抡起铁棒,向自己直扑将来。武大郎使开双戟,侧身让过。那猛虎扑了一空,回头又扑。武大郎举戟架住,口中大呼:“我奉王命,捉你回去论罪!”那猛虎被他这一架,戟钢扎疼了手,发起狠来,向武大郎直扑。武大郎使开戟去迎战。二人战了十余合,打得难解难分。这虎本是山中猛虫,十分凶悍。这一场恶战,战不到五十合,武大郎手软筋麻,使不动戟,只得拔了武松的宝贝青龙偃月刀,向前迎敌。这一场好杀:武大郎左闪右避,虎扑不着;虎右藏左藏,武大郎砍不着。打到第三十合,那猛虎扑空,回头待扑,武大郎举刀往下一砍,砍断它的两只前腿。那猛虎痛得嗷嗷乱叫,后腿着地,要向武大郎扑将来。武大郎顺手又一刀,把它一只后腿也砍断。
示例代码,
# 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()
设置 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)
输出结果,
len(docs): 14
==================================================
86 : page_content='《西游记》中“三打白骨精”的故事原文:\n\n话说唐僧师徒四人西天取经,途经白虎岭。\n\n白虎岭上有个妖怪,名叫白骨精。\n\n白骨精是一个老妖怪,她已经死了几百年,只剩下一堆白骨。' 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《三国演义》中“桃园三结义”的故事原文:\n\n话说宴罢,天色已晚,众人散去。\n\n刘备留下关张二人,以兄事之。' metadata={'source': '.\\sidamingzhu.txt'}
==================================================
89 : page_content='过了几日,谋曰:“吾与二君,虽异姓,然宗室也。\n\n今天下大乱,正要人才。\n\n若能俱发义心,救动仓皇;联合英雄,扶大道。\n\n此吾三人之有也。\n\n”张飞曰:“若要发大义,当如之何?”' metadata={'source': '.\\sidamingzhu.txt'}
==================================================
66 : page_content='刘备曰:“今日天色晚了,明日清早,我们同去桃园,契约志同。”\n\n次日,三人同至桃园,刘备事先示意关张二人,各持一枝桃花,致告天地曰:' metadata={'source': '.\\sidamingzhu.txt'}
==================================================
65 : page_content='“吾等三人,虽异姓,宗室也;今天下大乱,列国混战,正当汉室衰微之秋。\n\n此时天下豪杰,并起义兵,各据州郡。唯有美意,救汉室于危亡。' metadata={'source': '.\\sidamingzhu.txt'}
==================================================
76 : page_content='吾等三人,不求得州牧,不求得侯王,愿出心肝荐轸,誓将清君侧,兴复汉室!此心此义,使天日月为证,使星辰为鉴,无贰其志,殊死随之。\n\n如背盟约,无妾百福!”' metadata={'source': '.\\sidamingzhu.txt'}
==================================================
84 : page_content='三人各自对天地、日月星辰发誓,然后两两互持桃枝彼此磕头,作兄弟之礼,场面极为隆重感人。\n\n自此,刘关张三人正式结拜为交心之兄弟。\n\n《水浒传》中“武松打虎”的故事原文:' metadata={'source': '.\\sidamingzhu.txt'}
==================================================
88 : page_content='武大郎忍痛抽筋,往后瞧时,只见那猛虎抡起铁棒,向自己直扑将来。\n\n武大郎使开双戟,侧身让过。那猛虎扑了一空,回头又扑。\n\n武大郎举戟架住,口中大呼:“我奉王命,捉你回去论罪!”' metadata={'source': '.\\sidamingzhu.txt'}
==================================================
71 : page_content='那猛虎被他这一架,戟钢扎疼了手,发起狠来,向武大郎直扑。\n\n武大郎使开戟去迎战。二人战了十余合,打得难解难分。\n\n这虎本是山中猛虫,十分凶悍。' metadata={'source': '.\\sidamingzhu.txt'}
==================================================
80 : page_content='这一场恶战,战不到五十合,武大郎手软筋麻,使不动戟,只得拔了武松的宝贝青龙偃月刀,向前迎敌。\n\n这一场好杀:武大郎左闪右避,虎扑不着;虎右藏左藏,武大郎砍不着。' metadata={'source': '.\\sidamingzhu.txt'}
==================================================
84 : page_content='打到第三十合,那猛虎扑空,回头待扑,武大郎举刀往下一砍,砍断它的两只前腿。\n\n那猛虎痛得嗷嗷乱叫,后腿着地,要向武大郎扑将来。\n\n武大郎顺手又一刀,把它一只后腿也砍断。' metadata={'source': '.\\sidamingzhu.txt'}
设置 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)
输出结果,
len(docs): 7
==================================================
198 : page_content='《西游记》中“三打白骨精”的故事原文:\n\n话说唐僧师徒四人西天取经,途经白虎岭。\n\n白虎岭上有个妖怪,名叫白骨精。\n\n白骨精是一个老妖怪,她已经死了几百年,只剩下一堆白骨。\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='《三国演义》中“桃园三结义”的故事原文:\n\n话说宴罢,天色已晚,众人散去。\n\n刘备留下关张二人,以兄事之。\n\n过了几日,谋曰:“吾与二君,虽异姓,然宗室也。\n\n今天下大乱,正要人才。\n\n若能俱发义心,救动仓皇;联合英雄,扶大道。\n\n此吾三人之有也。\n\n”张飞曰:“若要发大义,当如之何?”\n\n刘备曰:“今日天色晚了,明日清早,我们同去桃园,契约志同。”' metadata={'source': '.\\sidamingzhu.txt'}
==================================================
179 : page_content='次日,三人同至桃园,刘备事先示意关张二人,各持一枝桃花,致告天地曰:\n\n“吾等三人,虽异姓,宗室也;今天下大乱,列国混战,正当汉室衰微之秋。\n\n此时天下豪杰,并起义兵,各据州郡。唯有美意,救汉室于危亡。\n\n吾等三人,不求得州牧,不求得侯王,愿出心肝荐轸,誓将清君侧,兴复汉室!此心此义,使天日月为证,使星辰为鉴,无贰其志,殊死随之。\n\n如背盟约,无妾百福!”' metadata={'source': '.\\sidamingzhu.txt'}
==================================================
174 : page_content='三人各自对天地、日月星辰发誓,然后两两互持桃枝彼此磕头,作兄弟之礼,场面极为隆重感人。\n\n自此,刘关张三人正式结拜为交心之兄弟。\n\n《水浒传》中“武松打虎”的故事原文:\n\n武大郎忍痛抽筋,往后瞧时,只见那猛虎抡起铁棒,向自己直扑将来。\n\n武大郎使开双戟,侧身让过。那猛虎扑了一空,回头又扑。\n\n武大郎举戟架住,口中大呼:“我奉王命,捉你回去论罪!”' metadata={'source': '.\\sidamingzhu.txt'}
==================================================
192 : page_content='那猛虎被他这一架,戟钢扎疼了手,发起狠来,向武大郎直扑。\n\n武大郎使开戟去迎战。二人战了十余合,打得难解难分。\n\n这虎本是山中猛虫,十分凶悍。\n\n这一场恶战,战不到五十合,武大郎手软筋麻,使不动戟,只得拔了武松的宝贝青龙偃月刀,向前迎敌。\n\n这一场好杀:武大郎左闪右避,虎扑不着;虎右藏左藏,武大郎砍不着。\n\n打到第三十合,那猛虎扑空,回头待扑,武大郎举刀往下一砍,砍断它的两只前腿。' metadata={'source': '.\\sidamingzhu.txt'}
==================================================
45 : page_content='那猛虎痛得嗷嗷乱叫,后腿着地,要向武大郎扑将来。\n\n武大郎顺手又一刀,把它一只后腿也砍断。' metadata={'source': '.\\sidamingzhu.txt'}
设置 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)
输出结果,
len(docs): 4
==================================================
295 : page_content='《西游记》中“三打白骨精”的故事原文:\n\n话说唐僧师徒四人西天取经,途经白虎岭。\n\n白虎岭上有个妖怪,名叫白骨精。\n\n白骨精是一个老妖怪,她已经死了几百年,只剩下一堆白骨。\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《三国演义》中“桃园三结义”的故事原文:\n\n话说宴罢,天色已晚,众人散去。\n\n刘备留下关张二人,以兄事之。\n\n过了几日,谋曰:“吾与二君,虽异姓,然宗室也。\n\n今天下大乱,正要人才。\n\n若能俱发义心,救动仓皇;联合英雄,扶大道。\n\n此吾三人之有也。\n\n”张飞曰:“若要发大义,当如之何?”\n\n刘备曰:“今日天色晚了,明日清早,我们同去桃园,契约志同。”' metadata={'source': '.\\sidamingzhu.txt'}
==================================================
298 : page_content='次日,三人同至桃园,刘备事先示意关张二人,各持一枝桃花,致告天地曰:\n\n“吾等三人,虽异姓,宗室也;今天下大乱,列国混战,正当汉室衰微之秋。\n\n此时天下豪杰,并起义兵,各据州郡。唯有美意,救汉室于危亡。\n\n吾等三人,不求得州牧,不求得侯王,愿出心肝荐轸,誓将清君侧,兴复汉室!此心此义,使天日月为证,使星辰为鉴,无贰其志,殊死随之。\n\n如背盟约,无妾百福!”\n\n三人各自对天地、日月星辰发誓,然后两两互持桃枝彼此磕头,作兄弟之礼,场面极为隆重感人。\n\n自此,刘关张三人正式结拜为交心之兄弟。\n\n《水浒传》中“武松打虎”的故事原文:\n\n武大郎忍痛抽筋,往后瞧时,只见那猛虎抡起铁棒,向自己直扑将来。' metadata={'source': '.\\sidamingzhu.txt'}
==================================================
296 : page_content='武大郎使开双戟,侧身让过。那猛虎扑了一空,回头又扑。\n\n武大郎举戟架住,口中大呼:“我奉王命,捉你回去论罪!”\n\n那猛虎被他这一架,戟钢扎疼了手,发起狠来,向武大郎直扑。\n\n武大郎使开戟去迎战。二人战了十余合,打得难解难分。\n\n这虎本是山中猛虫,十分凶悍。\n\n这一场恶战,战不到五十合,武大郎手软筋麻,使不动戟,只得拔了武松的宝贝青龙偃月刀,向前迎敌。\n\n这一场好杀:武大郎左闪右避,虎扑不着;虎右藏左藏,武大郎砍不着。\n\n打到第三十合,那猛虎扑空,回头待扑,武大郎举刀往下一砍,砍断它的两只前腿。\n\n那猛虎痛得嗷嗷乱叫,后腿着地,要向武大郎扑将来。\n\n武大郎顺手又一刀,把它一只后腿也砍断。' metadata={'source': '.\\sidamingzhu.txt'}
保持 chunk_size=300,设置 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)
输出结果,
len(docs): 5
==================================================
295 : page_content='《西游记》中“三打白骨精”的故事原文:\n\n话说唐僧师徒四人西天取经,途经白虎岭。\n\n白虎岭上有个妖怪,名叫白骨精。\n\n白骨精是一个老妖怪,她已经死了几百年,只剩下一堆白骨。\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《三国演义》中“桃园三结义”的故事原文:\n\n话说宴罢,天色已晚,众人散去。\n\n刘备留下关张二人,以兄事之。\n\n过了几日,谋曰:“吾与二君,虽异姓,然宗室也。\n\n今天下大乱,正要人才。\n\n若能俱发义心,救动仓皇;联合英雄,扶大道。\n\n此吾三人之有也。\n\n”张飞曰:“若要发大义,当如之何?”' metadata={'source': '.\\sidamingzhu.txt'}
==================================================
286 : page_content='此吾三人之有也。\n\n”张飞曰:“若要发大义,当如之何?”\n\n刘备曰:“今日天色晚了,明日清早,我们同去桃园,契约志同。”\n\n次日,三人同至桃园,刘备事先示意关张二人,各持一枝桃花,致告天地曰:\n\n“吾等三人,虽异姓,宗室也;今天下大乱,列国混战,正当汉室衰微之秋。\n\n此时天下豪杰,并起义兵,各据州郡。唯有美意,救汉室于危亡。\n\n吾等三人,不求得州牧,不求得侯王,愿出心肝荐轸,誓将清君侧,兴复汉室!此心此义,使天日月为证,使星辰为鉴,无贰其志,殊死随之。\n\n如背盟约,无妾百福!”\n\n三人各自对天地、日月星辰发誓,然后两两互持桃枝彼此磕头,作兄弟之礼,场面极为隆重感人。' metadata={'source': '.\\sidamingzhu.txt'}
==================================================
295 : page_content='三人各自对天地、日月星辰发誓,然后两两互持桃枝彼此磕头,作兄弟之礼,场面极为隆重感人。\n\n自此,刘关张三人正式结拜为交心之兄弟。\n\n《水浒传》中“武松打虎”的故事原文:\n\n武大郎忍痛抽筋,往后瞧时,只见那猛虎抡起铁棒,向自己直扑将来。\n\n武大郎使开双戟,侧身让过。那猛虎扑了一空,回头又扑。\n\n武大郎举戟架住,口中大呼:“我奉王命,捉你回去论罪!”\n\n那猛虎被他这一架,戟钢扎疼了手,发起狠来,向武大郎直扑。\n\n武大郎使开戟去迎战。二人战了十余合,打得难解难分。\n\n这虎本是山中猛虫,十分凶悍。\n\n这一场恶战,战不到五十合,武大郎手软筋麻,使不动戟,只得拔了武松的宝贝青龙偃月刀,向前迎敌。' metadata={'source': '.\\sidamingzhu.txt'}
==================================================
166 : page_content='这一场恶战,战不到五十合,武大郎手软筋麻,使不动戟,只得拔了武松的宝贝青龙偃月刀,向前迎敌。\n\n这一场好杀:武大郎左闪右避,虎扑不着;虎右藏左藏,武大郎砍不着。\n\n打到第三十合,那猛虎扑空,回头待扑,武大郎举刀往下一砍,砍断它的两只前腿。\n\n那猛虎痛得嗷嗷乱叫,后腿着地,要向武大郎扑将来。\n\n武大郎顺手又一刀,把它一只后腿也砍断。' metadata={'source': '.\\sidamingzhu.txt'}
保持 chunk_size=300,设置 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)
输出结果,
len(docs): 6
==================================================
295 : page_content='《西游记》中“三打白骨精”的故事原文:\n\n话说唐僧师徒四人西天取经,途经白虎岭。\n\n白虎岭上有个妖怪,名叫白骨精。\n\n白骨精是一个老妖怪,她已经死了几百年,只剩下一堆白骨。\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《三国演义》中“桃园三结义”的故事原文:\n\n话说宴罢,天色已晚,众人散去。\n\n刘备留下关张二人,以兄事之。\n\n过了几日,谋曰:“吾与二君,虽异姓,然宗室也。\n\n今天下大乱,正要人才。' metadata={'source': '.\\sidamingzhu.txt'}
==================================================
279 : page_content='《三国演义》中“桃园三结义”的故事原文:\n\n话说宴罢,天色已晚,众人散去。\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武大郎使开双戟,侧身让过。那猛虎扑了一空,回头又扑。' metadata={'source': '.\\sidamingzhu.txt'}
==================================================
284 : page_content='自此,刘关张三人正式结拜为交心之兄弟。\n\n《水浒传》中“武松打虎”的故事原文:\n\n武大郎忍痛抽筋,往后瞧时,只见那猛虎抡起铁棒,向自己直扑将来。\n\n武大郎使开双戟,侧身让过。那猛虎扑了一空,回头又扑。\n\n武大郎举戟架住,口中大呼:“我奉王命,捉你回去论罪!”\n\n那猛虎被他这一架,戟钢扎疼了手,发起狠来,向武大郎直扑。\n\n武大郎使开戟去迎战。二人战了十余合,打得难解难分。\n\n这虎本是山中猛虫,十分凶悍。\n\n这一场恶战,战不到五十合,武大郎手软筋麻,使不动戟,只得拔了武松的宝贝青龙偃月刀,向前迎敌。\n\n这一场好杀:武大郎左闪右避,虎扑不着;虎右藏左藏,武大郎砍不着。' metadata={'source': '.\\sidamingzhu.txt'}
==================================================
182 : page_content='这虎本是山中猛虫,十分凶悍。\n\n这一场恶战,战不到五十合,武大郎手软筋麻,使不动戟,只得拔了武松的宝贝青龙偃月刀,向前迎敌。\n\n这一场好杀:武大郎左闪右避,虎扑不着;虎右藏左藏,武大郎砍不着。\n\n打到第三十合,那猛虎扑空,回头待扑,武大郎举刀往下一砍,砍断它的两只前腿。\n\n那猛虎痛得嗷嗷乱叫,后腿着地,要向武大郎扑将来。\n\n武大郎顺手又一刀,把它一只后腿也砍断。' metadata={'source': '.\\sidamingzhu.txt'}
完结!
相关文章:
大语言模型分词的 chunk_size 和 chunk_overlap 说明和验证
大语言模型分词的 chunk_size 和 chunk_overlap 1. 什么是 chunk_size 和 chunk_overlap2. 实际验证 1. 什么是 chunk_size 和 chunk_overlap 对于大型语言模型如GPT-3等来说,chunk_size和chunk_overlap通常指的是文本序列的切分参数: chunk_size: 对输入文本序列进行切分的最…...
OpenStack - 构建强大的云计算平台
简介 OpenStack是一个开源的云计算平台,它提供了一套用于构建和管理私有云和公有云的工具和服务。OpenStack的目标是提供可伸缩性、弹性和可靠性的云基础设施服务。 组件介绍 Nova(计算服务) Nova是OpenStack的计算服务组件,负…...
在CSDN学Golang分布式中间件(ElasticSearch)
一,倒排索引,lucene 倒排索引是一种用于快速查找文本中特定单词或短语的数据结构。它将文本中的每个单词或短语与包含该单词或短语的文档列表相关联。这使得可以轻松地查找包含给定单词或短语的所有文档。 在 Go 中,可以使用 map 和 slice 来…...
web-文件包含
产生原因: 开发人员都希望代码更加灵活,所以通常会将被包含的文件设置为变量,用来进行动态调用。正是这种灵活性,从而导致客户端可以调用一个恶意文件,造成文件包含漏洞。 实际上被包含文件可以是任意格式的࿰…...
20230724----重返学习-vue3知乎日报项目实战
day-119-one-hundred-and-nineteen-20230724-vue3知乎日报项目实战 vue3项目实战-知乎日报 主要问题 pinia 和 vuex4 的区别 vue/cli和vite的区别 vue/cli脚手架的底层核心是webpack。vite脚手架: 开发环境:基于ESModule模块规范处理的生产环境&#…...
1.react useState使用与常见问题
文章目录 0. 取消批处理合并更新, render 2次1. 合并更新,setCount(异步更新) 3次相当于1次, count值为12. 如何取消批处理合并,让值累加?,改为回调函数写法,内部会依次执行函数, 执行3次 count值为33. 异步更新,获取异步更新的值?useEffect4.利用扩展运算符的形式来解决对象…...
LLaMA2可商用|GPT-4变笨|【2023-0723】【第七期】
一、大咖观点: 傅盛:ChatGPT时代如何创业 - BOTAI - 博客园Google 已经被OpenAI 超越了吗?| AlphaGo 之父深度访谈《人民日报》:大模型的竞争,是国家科技战略的竞争WAIC 2023 | 张俊林:大语言模型带来的交…...
[SQL系列] 从头开始学PostgreSQL 自增 权限和时间
[SQL系列] 从头开始学PostgreSQL 事务 锁 子查询_Edward.W的博客-CSDN博客https://blog.csdn.net/u013379032/article/details/131841058上一篇介绍了事务,锁,子查询 事务有点像是原子操作,需要有完整性,要么全都完成了ÿ…...
【云原生】Kubernetes之Secret
使用 kubectl 管理 Secret 准备开始 你必须拥有一个 Kubernetes 的集群,同时你必须配置 kubectl 命令行工具与你的集群通信 创建 Secret Secret 对象用来存储敏感数据,如 Pod 用于访问服务的凭据。例如,为访问数据库,你可能需…...
细说小程序底部标签---【浅入深出系列006】
微信目录集链接在此: 详细解析黑马微信小程序视频–【思维导图知识范围】难度★✰✰✰✰ 不会导入/打开小程序的看这里:参考 让别人的小程序长成自己的样子-更换window上下颜色–【浅入深出系列001】 文章目录 本系列校训学习资源的选择 学习语法的前…...
【VUE】使用elementUI上传组件-提示不存在
使用elementUI上传组件上传图片后,表单验证还是提示不存在 主要是因为组件包的层级比较深,验证取不到值导致 可以通过绑定其他元素获取到值进行验证 比如增加el-checkbox-group元素,将值绑定到它上面 <el-form :model"Form" …...
Flutter Windows通过嵌入Native窗口实现渲染视频
Flutter视频渲染系列 第一章 Android使用Texture渲染视频 第二章 Windows使用Texture渲染视频 第三章 Linux使用Texture渲染视频 第四章 全平台FFICustomPainter渲染视频 第五章 Windows使用Native窗口渲染视频(本章) 文章目录 Flutter视频渲染系列前言…...
MySQL学习笔记 ------ 库和表的管理
#DDL /* 数据定义语言 库和表的管理 一、库的管理 创建、修改、删除 二、表的管理 创建、修改、删除 创建: create 修改: alter 删除: drop */ #一、库的管理 #1、库的创建 /* 语法: create database [if not exists]库名;…...
python中去除字符串中指定的字符
去除字符串中特定字符(但是只能删除头、尾指定字符): a 你好\n我是xx。\n\n\n print(a.strip(\n))# 你好 # 我是xx。 去除中间字符,可使用replace()函数: a 你好\n我是xx。\n\n\n print(a.replace(\n, ))# 你好我…...
Java实现商品ID获取京东商品详情Desc商品描述数据方法
要通过京东的API获取商品详情商品描述,您可以使用京东开放平台提供的接口来实现。以下是一种使用Java编程语言实现的示例,展示如何通过京东开放平台API获取商品详情: 首先,确保您已注册成为京东开放平台的开发者,并创…...
1-高性能计算研究
高性能计算研究 E级计算机系统研制高性能计算应用软件研发并行编程框架应用协同开发优化平台和工具软件示例 高性能计算环境研发 E级计算机系统研制 高性能互联计算、编程、运行模型 应用驱动的新型可扩展基础算法(适用于E级计算的可计算物理建模与新型计算方法&a…...
swagger快速升级方案
背景 在使用SpringBoot 2.6以前去创建API文档工具一般会采用SpringFox提供的Swagger库,但是由于SpringBoot版本的不断升级和SpringFox摆烂不更新,导致了SpringBoot2.6之后的项目无法使用SpringFox去生成API文档,或者可以使用但是有很多的bug…...
sql中with as用法/with-as 性能调优/with用法
文章目录 一、概述二、基本语法三、使用场景3.1、定义CTE,并为每列重命名3.2、多次引用/多次定义3.3、with与union all联合使用3.4、with返回多种结果的值3.5、with与insert使用 四、递归查询4.1、语法4.2、使用场景4.2.1、用with递归构造1-10的数据4.2.2、with与insert递归造数…...
大数据课程C5——ZooKeeper的应用组件
文章作者邮箱:yugongshiyesina.cn 地址:广东惠州 ▲ 本章节目的 ⚪ 掌握Zookeeper的Canal消费组件; ⚪ 掌握Zookeeper的Dubbo分布式服务框架; ⚪ 掌握Zookeeper的Metamorphosis消息中间件; ⚪ 掌握Zo…...
Redisson实现简单消息队列:优雅解决缓存清理冲突
在项目中,缓存是提高应用性能和响应速度的关键手段之一。然而,当多个模块在短时间内发布工单并且需要清理同一个接口的缓存时,容易引发缓存清理冲突,导致缓存失效的问题。为了解决这一难题,我们采用Redisson的消息队列…...
别再只用Service了!ROS1 Action通信保姆级教程:从导航进度条到任务取消,手把手教你实现带反馈的机器人任务
别再只用Service了!ROS1 Action通信保姆级教程:从导航进度条到任务取消,手把手教你实现带反馈的机器人任务当你的机器人正在执行一个长达10分钟的导航任务时,突然发现目标点设置错误,这时候如果只能干等着任务完成或者…...
Visual Paradigm 17.0 团队协作新功能实测:手把手教你用项目模板和文件夹管理提效
Visual Paradigm 17.0 团队协作实战指南:从模板配置到文件夹管理的高效工作流在敏捷开发团队中,项目启动速度和资产管理的规范性往往直接影响整体效率。Visual Paradigm 17.0针对这一痛点推出的团队协作增强功能,特别是服务器端项目模板和文件…...
2026 新视角:化妆品开发的底层逻辑,做好一款产品,从选对原料开始
在化妆品研发链条中,配方架构、生产工艺、包装设计固然重要,但决定一款产品上限的,永远是原料。一款稳定、安全、表现优异的护肤成品,离不开纯净、达标、批次一致的优质原料。对于品牌方、配方师、代工企业而言,原料不…...
Owl-Alpha 新手快速上手指南
在处理大规模数据或构建高性能应用时,我们常常会遇到一个棘手的问题:如何在不阻塞主线程的情况下,高效地执行耗时任务?无论是处理图像、解析大型文件,还是进行复杂的数学运算,传统的单线程模式往往会让界面…...
WTF Auto Layout? 实战:10个常见约束冲突案例解析与解决方案
WTF Auto Layout? 实战:10个常见约束冲突案例解析与解决方案 【免费下载链接】wtfautolayout The source code for Why The Failure, Auto Layout? 项目地址: https://gitcode.com/gh_mirrors/wt/wtfautolayout 在iOS开发中,Auto Layout是构建灵…...
告别依赖冲突:在Debian12上为特定项目搭建Python2.7.18独立运行环境
告别依赖冲突:在Debian12上为特定项目搭建Python2.7.18独立运行环境 当现代Linux系统已全面拥抱Python3的时代,突然需要维护一个仅支持Python2.7的遗留项目,这种场景对开发者而言无异于一场噩梦。本文将带你用工程化的思维,在Deb…...
WarcraftHelper:让经典魔兽争霸3完美适配现代电脑的终极解决方案
WarcraftHelper:让经典魔兽争霸3完美适配现代电脑的终极解决方案 【免费下载链接】WarcraftHelper Warcraft III Helper , support 1.20e, 1.24e, 1.26a, 1.27a, 1.27b 项目地址: https://gitcode.com/gh_mirrors/wa/WarcraftHelper 还在为魔兽争霸3在现代操…...
【小白快速上手】 OpenClaw 安装部署全流程(含安装包)
OpenClaw 一键安装包|一键部署,告别复杂环境配置 适配系统:Windows10/11 64 位当前版本:v2.7.5(虾壳云版)核心优势:全程可视化操作,无需命令行、无需手动配置 Python/Node.js&#…...
机器学习加速分子晶体偏振拉曼光谱模拟:非谐效应与准谐效应的分离
1. 项目概述:当机器学习遇见偏振拉曼光谱 偏振-取向拉曼光谱(PO-Raman)一直是我在材料光谱分析领域里觉得既迷人又头疼的技术。它就像给材料的“分子指纹”加上了方向滤镜,能揭示出振动模式在空间中的对称性和各向异性,…...
H.Test.DefaultApplicationBase-默认应用组合
H.Test.DefaultApplicationBase 示例项目学习教程 一、概述 H.Test.DefaultApplicationBase 展示了如何使用 WPF-Control 框架的默认应用组合(Default ApplicationBase)。这是一个"开箱即用"的应用模板,一键注册所有常用服务和模块…...
