大语言模型分词的 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的消息队列…...
地震勘探——干扰波识别、井中地震时距曲线特点
目录 干扰波识别反射波地震勘探的干扰波 井中地震时距曲线特点 干扰波识别 有效波:可以用来解决所提出的地质任务的波;干扰波:所有妨碍辨认、追踪有效波的其他波。 地震勘探中,有效波和干扰波是相对的。例如,在反射波…...
【根据当天日期输出明天的日期(需对闰年做判定)。】2022-5-15
缘由根据当天日期输出明天的日期(需对闰年做判定)。日期类型结构体如下: struct data{ int year; int month; int day;};-编程语言-CSDN问答 struct mdata{ int year; int month; int day; }mdata; int 天数(int year, int month) {switch (month){case 1: case 3:…...
python打卡day49
知识点回顾: 通道注意力模块复习空间注意力模块CBAM的定义 作业:尝试对今天的模型检查参数数目,并用tensorboard查看训练过程 import torch import torch.nn as nn# 定义通道注意力 class ChannelAttention(nn.Module):def __init__(self,…...
在HarmonyOS ArkTS ArkUI-X 5.0及以上版本中,手势开发全攻略:
在 HarmonyOS 应用开发中,手势交互是连接用户与设备的核心纽带。ArkTS 框架提供了丰富的手势处理能力,既支持点击、长按、拖拽等基础单一手势的精细控制,也能通过多种绑定策略解决父子组件的手势竞争问题。本文将结合官方开发文档,…...
第 86 场周赛:矩阵中的幻方、钥匙和房间、将数组拆分成斐波那契序列、猜猜这个单词
Q1、[中等] 矩阵中的幻方 1、题目描述 3 x 3 的幻方是一个填充有 从 1 到 9 的不同数字的 3 x 3 矩阵,其中每行,每列以及两条对角线上的各数之和都相等。 给定一个由整数组成的row x col 的 grid,其中有多少个 3 3 的 “幻方” 子矩阵&am…...
分布式增量爬虫实现方案
之前我们在讨论的是分布式爬虫如何实现增量爬取。增量爬虫的目标是只爬取新产生或发生变化的页面,避免重复抓取,以节省资源和时间。 在分布式环境下,增量爬虫的实现需要考虑多个爬虫节点之间的协调和去重。 另一种思路:将增量判…...
在web-view 加载的本地及远程HTML中调用uniapp的API及网页和vue页面是如何通讯的?
uni-app 中 Web-view 与 Vue 页面的通讯机制详解 一、Web-view 简介 Web-view 是 uni-app 提供的一个重要组件,用于在原生应用中加载 HTML 页面: 支持加载本地 HTML 文件支持加载远程 HTML 页面实现 Web 与原生的双向通讯可用于嵌入第三方网页或 H5 应…...
Springboot社区养老保险系统小程序
一、前言 随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,社区养老保险系统小程序被用户普遍使用,为方…...
让回归模型不再被异常值“带跑偏“,MSE和Cauchy损失函数在噪声数据环境下的实战对比
在机器学习的回归分析中,损失函数的选择对模型性能具有决定性影响。均方误差(MSE)作为经典的损失函数,在处理干净数据时表现优异,但在面对包含异常值的噪声数据时,其对大误差的二次惩罚机制往往导致模型参数…...
Golang——9、反射和文件操作
反射和文件操作 1、反射1.1、reflect.TypeOf()获取任意值的类型对象1.2、reflect.ValueOf()1.3、结构体反射 2、文件操作2.1、os.Open()打开文件2.2、方式一:使用Read()读取文件2.3、方式二:bufio读取文件2.4、方式三:os.ReadFile读取2.5、写…...
