当前位置: 首页 > news >正文

大语言模型分词的 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-文件包含

产生原因: 开发人员都希望代码更加灵活,所以通常会将被包含的文件设置为变量,用来进行动态调用。正是这种灵活性,从而导致客户端可以调用一个恶意文件,造成文件包含漏洞。 实际上被包含文件可以是任意格式的&#xff0…...

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上一篇介绍了事务,锁,子查询 事务有点像是原子操作,需要有完整性,要么全都完成了&#xff…...

【云原生】Kubernetes之Secret

使用 kubectl 管理 Secret 准备开始 你必须拥有一个 Kubernetes 的集群,同时你必须配置 kubectl 命令行工具与你的集群通信 创建 Secret Secret 对象用来存储敏感数据,如 Pod 用于访问服务的凭据。例如,为访问数据库,你可能需…...

细说小程序底部标签---【浅入深出系列006】

微信目录集链接在此: 详细解析黑马微信小程序视频–【思维导图知识范围】难度★✰✰✰✰ 不会导入/打开小程序的看这里:参考 让别人的小程序长成自己的样子-更换window上下颜色–【浅入深出系列001】 文章目录 本系列校训学习资源的选择 学习语法的前…...

【VUE】使用elementUI上传组件-提示不存在

使用elementUI上传组件上传图片后&#xff0c;表单验证还是提示不存在 主要是因为组件包的层级比较深&#xff0c;验证取不到值导致 可以通过绑定其他元素获取到值进行验证 比如增加el-checkbox-group元素&#xff0c;将值绑定到它上面 <el-form :model"Form" …...

Flutter Windows通过嵌入Native窗口实现渲染视频

Flutter视频渲染系列 第一章 Android使用Texture渲染视频 第二章 Windows使用Texture渲染视频 第三章 Linux使用Texture渲染视频 第四章 全平台FFICustomPainter渲染视频 第五章 Windows使用Native窗口渲染视频&#xff08;本章&#xff09; 文章目录 Flutter视频渲染系列前言…...

MySQL学习笔记 ------ 库和表的管理

#DDL /* 数据定义语言 库和表的管理 一、库的管理 创建、修改、删除 二、表的管理 创建、修改、删除 创建&#xff1a; create 修改&#xff1a; alter 删除&#xff1a; drop */ #一、库的管理 #1、库的创建 /* 语法&#xff1a; create database [if not exists]库名;…...

python中去除字符串中指定的字符

去除字符串中特定字符&#xff08;但是只能删除头、尾指定字符&#xff09;&#xff1a; a 你好\n我是xx。\n\n\n print(a.strip(\n))# 你好 # 我是xx。 去除中间字符&#xff0c;可使用replace()函数&#xff1a; a 你好\n我是xx。\n\n\n print(a.replace(\n, ))# 你好我…...

Java实现商品ID获取京东商品详情Desc商品描述数据方法

要通过京东的API获取商品详情商品描述&#xff0c;您可以使用京东开放平台提供的接口来实现。以下是一种使用Java编程语言实现的示例&#xff0c;展示如何通过京东开放平台API获取商品详情&#xff1a; 首先&#xff0c;确保您已注册成为京东开放平台的开发者&#xff0c;并创…...

1-高性能计算研究

高性能计算研究 E级计算机系统研制高性能计算应用软件研发并行编程框架应用协同开发优化平台和工具软件示例 高性能计算环境研发 E级计算机系统研制 高性能互联计算、编程、运行模型 应用驱动的新型可扩展基础算法&#xff08;适用于E级计算的可计算物理建模与新型计算方法&a…...

swagger快速升级方案

背景 在使用SpringBoot 2.6以前去创建API文档工具一般会采用SpringFox提供的Swagger库&#xff0c;但是由于SpringBoot版本的不断升级和SpringFox摆烂不更新&#xff0c;导致了SpringBoot2.6之后的项目无法使用SpringFox去生成API文档&#xff0c;或者可以使用但是有很多的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的应用组件

文章作者邮箱&#xff1a;yugongshiyesina.cn 地址&#xff1a;广东惠州 ▲ 本章节目的 ⚪ 掌握Zookeeper的Canal消费组件&#xff1b; ⚪ 掌握Zookeeper的Dubbo分布式服务框架&#xff1b; ⚪ 掌握Zookeeper的Metamorphosis消息中间件&#xff1b; ⚪ 掌握Zo…...

Redisson实现简单消息队列:优雅解决缓存清理冲突

在项目中&#xff0c;缓存是提高应用性能和响应速度的关键手段之一。然而&#xff0c;当多个模块在短时间内发布工单并且需要清理同一个接口的缓存时&#xff0c;容易引发缓存清理冲突&#xff0c;导致缓存失效的问题。为了解决这一难题&#xff0c;我们采用Redisson的消息队列…...

华为OD机试-食堂供餐-二分法

import java.util.Arrays; import java.util.Scanner;public class DemoTest3 {public static void main(String[] args) {Scanner in new Scanner(System.in);// 注意 hasNext 和 hasNextLine 的区别while (in.hasNextLine()) { // 注意 while 处理多个 caseint a in.nextIn…...

基于Docker Compose部署Java微服务项目

一. 创建根项目 根项目&#xff08;父项目&#xff09;主要用于依赖管理 一些需要注意的点&#xff1a; 打包方式需要为 pom<modules>里需要注册子模块不要引入maven的打包插件&#xff0c;否则打包时会出问题 <?xml version"1.0" encoding"UTF-8…...

学习STC51单片机32(芯片为STC89C52RCRC)OLED显示屏2

每日一言 今天的每一份坚持&#xff0c;都是在为未来积攒底气。 案例&#xff1a;OLED显示一个A 这边观察到一个点&#xff0c;怎么雪花了就是都是乱七八糟的占满了屏幕。。 解释 &#xff1a; 如果代码里信号切换太快&#xff08;比如 SDA 刚变&#xff0c;SCL 立刻变&#…...

OPENCV形态学基础之二腐蚀

一.腐蚀的原理 (图1) 数学表达式&#xff1a;dst(x,y) erode(src(x,y)) min(x,y)src(xx,yy) 腐蚀也是图像形态学的基本功能之一&#xff0c;腐蚀跟膨胀属于反向操作&#xff0c;膨胀是把图像图像变大&#xff0c;而腐蚀就是把图像变小。腐蚀后的图像变小变暗淡。 腐蚀…...

深度学习习题2

1.如果增加神经网络的宽度&#xff0c;精确度会增加到一个特定阈值后&#xff0c;便开始降低。造成这一现象的可能原因是什么&#xff1f; A、即使增加卷积核的数量&#xff0c;只有少部分的核会被用作预测 B、当卷积核数量增加时&#xff0c;神经网络的预测能力会降低 C、当卷…...

#Uniapp篇:chrome调试unapp适配

chrome调试设备----使用Android模拟机开发调试移动端页面 Chrome://inspect/#devices MuMu模拟器Edge浏览器&#xff1a;Android原生APP嵌入的H5页面元素定位 chrome://inspect/#devices uniapp单位适配 根路径下 postcss.config.js 需要装这些插件 “postcss”: “^8.5.…...

人机融合智能 | “人智交互”跨学科新领域

本文系统地提出基于“以人为中心AI(HCAI)”理念的人-人工智能交互(人智交互)这一跨学科新领域及框架,定义人智交互领域的理念、基本理论和关键问题、方法、开发流程和参与团队等,阐述提出人智交互新领域的意义。然后,提出人智交互研究的三种新范式取向以及它们的意义。最后,总结…...

无人机侦测与反制技术的进展与应用

国家电网无人机侦测与反制技术的进展与应用 引言 随着无人机&#xff08;无人驾驶飞行器&#xff0c;UAV&#xff09;技术的快速发展&#xff0c;其在商业、娱乐和军事领域的广泛应用带来了新的安全挑战。特别是对于关键基础设施如电力系统&#xff0c;无人机的“黑飞”&…...

CSS | transition 和 transform的用处和区别

省流总结&#xff1a; transform用于变换/变形&#xff0c;transition是动画控制器 transform 用来对元素进行变形&#xff0c;常见的操作如下&#xff0c;它是立即生效的样式变形属性。 旋转 rotate(角度deg)、平移 translateX(像素px)、缩放 scale(倍数)、倾斜 skewX(角度…...

uniapp 开发ios, xcode 提交app store connect 和 testflight内测

uniapp 中配置 配置manifest 文档&#xff1a;manifest.json 应用配置 | uni-app官网 hbuilderx中本地打包 下载IOS最新SDK 开发环境 | uni小程序SDK hbulderx 版本号&#xff1a;4.66 对应的sdk版本 4.66 两者必须一致 本地打包的资源导入到SDK 导入资源 | uni小程序SDK …...