大语言模型分词的 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的消息队列…...
观成科技:隐蔽隧道工具Ligolo-ng加密流量分析
1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具,该工具基于TUN接口实现其功能,利用反向TCP/TLS连接建立一条隐蔽的通信信道,支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式,适应复杂网…...
基于uniapp+WebSocket实现聊天对话、消息监听、消息推送、聊天室等功能,多端兼容
基于 UniApp + WebSocket实现多端兼容的实时通讯系统,涵盖WebSocket连接建立、消息收发机制、多端兼容性配置、消息实时监听等功能,适配微信小程序、H5、Android、iOS等终端 目录 技术选型分析WebSocket协议优势UniApp跨平台特性WebSocket 基础实现连接管理消息收发连接…...
鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院查看报告小程序
一、开发环境准备 工具安装: 下载安装DevEco Studio 4.0(支持HarmonyOS 5)配置HarmonyOS SDK 5.0确保Node.js版本≥14 项目初始化: ohpm init harmony/hospital-report-app 二、核心功能模块实现 1. 报告列表…...
sqlserver 根据指定字符 解析拼接字符串
DECLARE LotNo NVARCHAR(50)A,B,C DECLARE xml XML ( SELECT <x> REPLACE(LotNo, ,, </x><x>) </x> ) DECLARE ErrorCode NVARCHAR(50) -- 提取 XML 中的值 SELECT value x.value(., VARCHAR(MAX))…...
高防服务器能够抵御哪些网络攻击呢?
高防服务器作为一种有着高度防御能力的服务器,可以帮助网站应对分布式拒绝服务攻击,有效识别和清理一些恶意的网络流量,为用户提供安全且稳定的网络环境,那么,高防服务器一般都可以抵御哪些网络攻击呢?下面…...
RNN避坑指南:从数学推导到LSTM/GRU工业级部署实战流程
本文较长,建议点赞收藏,以免遗失。更多AI大模型应用开发学习视频及资料,尽在聚客AI学院。 本文全面剖析RNN核心原理,深入讲解梯度消失/爆炸问题,并通过LSTM/GRU结构实现解决方案,提供时间序列预测和文本生成…...
rnn判断string中第一次出现a的下标
# coding:utf8 import torch import torch.nn as nn import numpy as np import random import json""" 基于pytorch的网络编写 实现一个RNN网络完成多分类任务 判断字符 a 第一次出现在字符串中的位置 """class TorchModel(nn.Module):def __in…...
【7色560页】职场可视化逻辑图高级数据分析PPT模版
7种色调职场工作汇报PPT,橙蓝、黑红、红蓝、蓝橙灰、浅蓝、浅绿、深蓝七种色调模版 【7色560页】职场可视化逻辑图高级数据分析PPT模版:职场可视化逻辑图分析PPT模版https://pan.quark.cn/s/78aeabbd92d1...
Qemu arm操作系统开发环境
使用qemu虚拟arm硬件比较合适。 步骤如下: 安装qemu apt install qemu-system安装aarch64-none-elf-gcc 需要手动下载,下载地址:https://developer.arm.com/-/media/Files/downloads/gnu/13.2.rel1/binrel/arm-gnu-toolchain-13.2.rel1-x…...
日常一水C
多态 言简意赅:就是一个对象面对同一事件时做出的不同反应 而之前的继承中说过,当子类和父类的函数名相同时,会隐藏父类的同名函数转而调用子类的同名函数,如果要调用父类的同名函数,那么就需要对父类进行引用&#…...
