【踩坑随笔】 text_splitter.split_documents(documents)拆分块不对

在学习一文搞懂大模型RAG应用(附实践案例),部分参考动手学RAG时,遇到了一个bug,记录一下解决过程
要拆分的Document如下

[Document(page_content='藜麦(18张)藜麦是印第安人的传统主食,几乎和水稻同时被驯服有着600备才纹0多年的种植和食用历史。藜麦具有相当全面营养成分,并且迁踏埋藜麦的口感口味都容易被人接受。在藜麦这种营洒樱养丰富的粮食滋养下精探南美洲的印第安人创造了伟大的印加文明,印加人将藜麦尊为粮食之母。美国人早在80年代就将多臭棵尝藜麦引跨拜讲入NASA,作为宇航员的日常口粮润棵,FAO认定藜麦是唯一一种单作物即可满足人类所需的全部营养的粮食,并进行藜麦的推广和宣传。2013年是联合国钦定的国际蒸企胶藜麦年。以此呼吁人们注意粮食安全和营养均衡。 [1]\n藜麦穗部可呈红、紫、黄,植株形状类似灰灰菜,成熟后穗部类似高粱穗。植株大小受环境及遗传因素影响较大,从0.3-3米不等,茎部质地较硬,可分枝可不分。单叶互生,叶片呈鸭掌状,叶缘分为全缘型与锯齿缘型。根系庞大但分布较浅,根上的须根多,吸水能力强。藜麦花两性,花序呈伞状、穗状、圆锥状,藜麦种子较小,呈小圆药片状,直径1.5-2毫米,千粒重1.4-3克。 [1]\n原产于南美洲安第斯山脉的哥伦比亚、厄瓜多尔、秘鲁等中高海拔山区。具有一定的耐旱、耐寒、耐盐性,生长范围约为海平面到海拔4500米左右的高原上,最适的高度为海拔3000-4000米的高原或山地地区。 [1] [4]\n繁殖地块选择:应选择地势较高、阳光充足、通风条件好及肥力较好的地块种植。藜麦不宜重茬,忌连作,应合理轮作倒茬。前茬以大豆、薯类最好,其次是玉米、高粱等。 [4]\n施肥整地:早春土壤刚解冻,趁气温尚低、土壤水分蒸发慢的时候,施足底肥,达到土肥融合,壮伐蓄水。播种前每降1次雨及时耙耱1次,做到上虚下实,干旱时只耙不耕,并进行压实处理。一般每亩(667平方米/亩,下同)施腐熟农家肥1000-2000千克、硫酸钾型复合肥20-30千克。如果土壤比较贫瘠,可适当增加复合肥的施用量。 [4]\n播种期一般选在5月中旬、气温在15-20℃时为宜。播种量为每亩0.4千克。播种深度1-2厘米。一般使用耧播,也可采用谷子精量播种机播种。行距50厘米左右,株距15-25厘米。 [4]\n苗期查苗补苗:藜麦出苗后,要及时查苗,发现漏种和缺苗断垄时,应采取补种。对少数缺苗断垄处,可在幼苗4-5叶时雨后移苗补栽。移栽后,适度浇水,确保成活率。对缺苗较多的地块,采用催芽补种,先将种子浸入水中3-4小时,捞出后用湿布盖上,放在20-25℃条件下闷种10小时以上,然后开沟补种。 [4]\n间苗定苗:藜麦出苗后应及早间苗,并注意拔除杂草。当幼苗长到10厘米、长出5-6叶时间苗,按照留大去小的原则,株距保持在15-25厘米。 [4]\n中耕除草:中耕结合间苗进行,应掌握浅锄、细锄、破碎土块,围正幼苗,做到深浅一致,草净地平,防止伤苗压苗。中耕后如遇大雨,应在雨后表土稍干时破除板结。当藜麦长到50厘米以上时,还需除草1-2次。 [4]\n在藜麦8叶龄时,将行中杂草、病株及残株拔掉,提高整齐度,增加通风透光,同时,进行根部培土,防止后期倒伏。 [4]\n要求一次性施足底肥,如果生长中后期发现有缺肥症状,可适当追肥。一般在植株长到40-50厘米时,每亩撒施三元复合肥10千克。在藜麦生育后期,叶面喷洒磷肥和微量元素肥料,可促进开花结实和子粒灌浆。藜麦主要以旱作为主,如发生严重干旱,应及时浇水。 [4]\n在成熟期,要严防麻雀为害,及时收获,防止大风导致脱粒,造成损失。 [4]\n叶斑病病害:主要防治叶斑病,使用12.5%的烯唑醇可湿性粉剂3000-4000倍液喷雾防治,一般防治1-2次即可收到效果。 [4]\n虫害:藜麦常见虫害有象甲虫、金针虫、蝼蛄、黄条跳甲、横纹菜蝽、萹蓄齿胫叶甲、潜叶蝇、蚜虫、夜蛾等。防治方法:可每亩用3%的辛硫磷颗粒剂2-2.5千克于耕地前均匀撒施,随耕地翻入土中。也可以每亩用40%的辛硫磷乳油250毫升,加水1-2千克,拌细土20-25千克配成毒土,撒施地面翻入土中,防治地下害虫。 [4] [7]\n藜麦藜麦的营养价值超过任何一种传统的粮食作物,藜麦是一种全谷全营养完全蛋白碱性食物,藜麦作为一种藜科植物其蛋白质含量与牛肉相当,其品质也不亚于肉源蛋白与奶源蛋白。藜麦所含氨基酸种类丰富,除了人类必须的9种必须氨基酸,还含有许多非必须氨基酸,特别是富集多数作物没有的赖氨酸,并且含有种类丰富且含量较高的矿物元素,以及多种人体正常代谢所需要的维生素,不含胆固醇与麸质,糖含量、脂肪含量与热量都属于较低水平。 [1]\n藜麦富含的维生素、多酚、类黄酮类、皂苷和植物甾醇类物质具有多种健康功效。藜麦具有高蛋白,其所含脂肪中不饱和脂肪酸占83%。藜麦还是一种低果糖低葡萄糖的食物,能在糖脂代谢过程中发挥有益功效。 [5]\n藜麦的全营养性和高膳食纤维等特性决定了它对健康的益处。研究表明,藜麦富含的维生素、多酚、类黄酮类、皂苷和植物甾醇类物质具有多种健康功效。藜麦具有高蛋白,其所含脂肪中不饱和脂肪酸占83%,还是一种低果糖低葡萄糖的食物能在糖脂代谢过程中发挥有益功效。 [1]\n', metadata={'source': './藜.txt'})]

拆分代码

# 文档分割
from langchain.text_splitter import CharacterTextSplitter
# 创建拆分器
text_splitter = CharacterTextSplitter(chunk_size=128, chunk_overlap=0)
# 拆分文档
documents = text_splitter.split_documents(documents)
documents

原文输出结果

[Document(page_content='藜(读音lí)麦(Chenopodium\xa0quinoa\xa0Willd.)是藜科藜属植物。穗部可呈红、紫、黄,植株形状类似灰灰菜,成熟后穗部类似高粱穗。植株大小受环境及遗传因素影响较大,从0.3-3米不等,茎部质地较硬,可分枝可不分。单叶互生,叶片呈鸭掌状,叶缘分为全缘型与锯齿缘型。藜麦花两性,花序呈伞状、穗状、圆锥状,藜麦种子较小,呈小圆药片状,直径1.5-2毫米,千粒重1.4-3克。\xa0[1]\xa0\n原产于南美洲安第斯山脉的哥伦比亚、厄瓜多尔、秘鲁等中高海拔山区。具有一定的耐旱、耐寒、耐盐性,生长范围约为海平面到海拔4500米左右的高原上,最适的高度为海拔3000-4000米的高原或山地地区。\xa0[1]\xa0\n藜麦富含的维生素、多酚、类黄酮类、皂苷和植物甾醇类物质具有多种健康功效。藜麦具有高蛋白,其所含脂肪中不饱和脂肪酸占83%,还是一种低果糖低葡萄糖的食物,能在糖脂代谢过程中发挥有益功效。\xa0[1]\xa0\xa0[5]\xa0\n国内藜麦产品的销售以电商为主,缺乏实体店销售,藜麦市场有待进一步完善。藜麦国际市场需求强劲,发展前景十分广阔。通过加快品种培育和生产加工设备研发,丰富产品种类,藜麦必将在“调结构,转方式,保增收”的农业政策落实中发挥重要作用。\xa0[5]\xa0\n2022年5月,“超级谷物”藜麦在宁洱县试种成功。', metadata={'source': './藜.txt'}),
 Document(page_content='藜麦是印第安人的传统主食,几乎和水稻同时被驯服有着6000多年的种植和食用历史。藜麦具有相当全面营养成分,并且藜麦的口感口味都容易被人接受。在藜麦这种营养丰富的粮食滋养下南美洲的印第安人创造了伟大的印加文明,印加人将藜麦尊为粮食之母。美国人早在80年代就将藜麦引入NASA,作为宇航员的日常口粮,FAO认定藜麦是唯一一种单作物即可满足人类所需的全部营养的粮食,并进行藜麦的推广和宣传。2013年是联合国钦定的国际藜麦年。以此呼吁人们注意粮食安全和营养均衡。', metadata={'source': './藜.txt'}),
 Document(page_content='藜麦穗部可呈红、紫、黄,植株形状类似灰灰菜,成熟后穗部类似高粱穗。植株大小受环境及遗传因素影响较大,从0.3-3米不等,茎部质地较硬,可分枝可不分。单叶互生,叶片呈鸭掌状,叶缘分为全缘型与锯齿缘型。根系庞大但分布较浅,根上的须根多,吸水能力强。藜麦花两性,花序呈伞状、穗状、圆锥状,藜麦种子较小,呈小圆药片状,直径1.5-2毫米,千粒重1.4-3克。', metadata={'source': './藜.txt'}),
 Document(page_content='原产于南美洲安第斯山脉的哥伦比亚、厄瓜多尔、秘鲁等中高海拔山区。具有一定的耐旱、耐寒、耐盐性,生长范围约为海平面到海拔4500米左右的高原上,最适的高度为海拔3000-4000米的高原或山地地区。\n\n播前准备', metadata={'source': './藜.txt'}),
 Document(page_content='繁殖\n地块选择:应选择地势较高、阳光充足、通风条件好及肥力较好的地块种植。藜麦不宜重茬,忌连作,应合理轮作倒茬。前茬以大豆、薯类最好,其次是玉米、高粱等。\xa0[4]\xa0\n施肥整地:早春土壤刚解冻,趁气温尚低、土壤水分蒸发慢的时候,施足底肥,达到土肥融合,壮伐蓄水。播种前每降1次雨及时耙耱1次,做到上虚下实,干旱时只耙不耕,并进行压实处理。一般每亩(667平方米/亩,下同)施腐熟农家肥1000-2000千克、硫酸钾型复合肥20-30千克。如果土壤比较贫瘠,可适当增加复合肥的施用量。\xa0[4]', metadata={'source': './藜.txt'}),
...]

但我的运行结果输出的Document并没有拆分,输出跟原来的Document一样,程序执行并没有报错暂时没明白是什么问题,可能是因为langchain官方库更新了。

为了实现类似的输出效果,参考langchain官方文档修改了一下

from langchain.text_splitter import CharacterTextSplitter
text_splitter = CharacterTextSplitter(        
    separator = "\n\n",
    chunk_size = 128,
    chunk_overlap  = 0,
    length_function = len,
)

texts = text_splitter.create_documents([documents[0].page_content],metadatas=[documents[0].metadata])
texts

输出结果

[Document(page_content='藜麦(18张)藜蒸企胶麦是印第安人的传统主食,几乎和水稻同时被驯服有着6000多年的种植和食用历史。藜麦具润棵有相当全面营养成分,并且藜麦的口感口味都容易被人接受。在藜麦这种营养丰富的粮食滋养下南美洲的印第龙坑迁安人创造了伟大的印加文明,印加人将藜精探麦尊为粮食之母。美国遥雅嘱人早在80年代就将藜麦引入NASA,作为宇航员的日常口粮,FAO认定藜麦是唯一一种单作物即可满足人类所需的全部热乐习营养的粮食,并进乃匪敬叠行藜麦的推广和宣传。2013年是联合国钦定的国际藜麦年。以此呼吁人们注意粮食安墓担全和营养均衡。 [1]', metadata={'source': './藜.txt'}),
 Document(page_content='藜麦穗部可呈红、紫、黄,植株形状类似灰灰菜,成熟后穗部类似高粱穗。植株大小受环境及遗传因素影响较大,从0.3-3米不等,茎部质地较硬,可分枝可不分。单叶互生,叶片呈鸭掌状,叶缘分为全缘型与锯齿缘型。根系庞大但分布较浅,根上的须根多,吸水能力强。藜麦花两性,花序呈伞状、穗状、圆锥状,藜麦种子较小,呈小圆药片状,直径1.5-2毫米,千粒重1.4-3克。 [1]', metadata={'source': './藜.txt'}),
 Document(page_content='原产于南美洲安第斯山脉的哥伦比亚、厄瓜多尔、秘鲁等中高海拔山区。具有一定的耐旱、耐寒、耐盐性,生长范围约为海平面到海拔4500米左右的高原上,最适的高度为海拔3000-4000米的高原或山地地区。 [1] [4]', metadata={'source': './藜.txt'}),
 Document(page_content='繁殖地块选择:应选择地势较高、阳光充足、通风条件好及肥力较好的地块种植。藜麦不宜重茬,忌连作,应合理轮作倒茬。前茬以大豆、薯类最好,其次是玉米、高粱等。 [4]', metadata={'source': './藜.txt'}),
 Document(page_content='施肥整地:早春土壤刚解冻,趁气温尚低、土壤水分蒸发慢的时候,施足底肥,达到土肥融合,壮伐蓄水。播种前每降1次雨及时耙耱1次,做到上虚下实,干旱时只耙不耕,并进行压实处理。一般每亩(667平方米/亩,下同)施腐熟农家肥1000-2000千克、硫酸钾型复合肥20-30千克。如果土壤比较贫瘠,可适当增加复合肥的施用量。 [4]', metadata={'source': './藜.txt'}),
 Document(page_content='播种期一般选在5月中旬、气温在15-20℃时为宜。播种量为每亩0.4千克。播种深度1-2厘米。一般使用耧播,也可采用谷子精量播种机播种。行距50厘米左右,株距15-25厘米。 [4]', metadata={'source': './藜.txt'}),
 Document(page_content='苗期查苗补苗:藜麦出苗后,要及时查苗,发现漏种和缺苗断垄时,应采取补种。对少数缺苗断垄处,可在幼苗4-5叶时雨后移苗补栽。移栽后,适度浇水,确保成活率。对缺苗较多的地块,采用催芽补种,先将种子浸入水中3-4小时,捞出后用湿布盖上,放在20-25℃条件下闷种10小时以上,然后开沟补种。 [4]', metadata={'source': './藜.txt'}),
 Document(page_content='间苗定苗:藜麦出苗后应及早间苗,并注意拔除杂草。当幼苗长到10厘米、长出5-6叶时间苗,按照留大去小的原则,株距保持在15-25厘米。 [4]', metadata={'source': './藜.txt'}),
 Document(page_content='中耕除草:中耕结合间苗进行,应掌握浅锄、细锄、破碎土块,围正幼苗,做到深浅一致,草净地平,防止伤苗压苗。中耕后如遇大雨,应在雨后表土稍干时破除板结。当藜麦长到50厘米以上时,还需除草1-2次。 [4]', metadata={'source': './藜.txt'}),
 Document(page_content='在藜麦8叶龄时,将行中杂草、病株及残株拔掉,提高整齐度,增加通风透光,同时,进行根部培土,防止后期倒伏。 [4]', metadata={'source': './藜.txt'}),
 Document(page_content='要求一次性施足底肥,如果生长中后期发现有缺肥症状,可适当追肥。一般在植株长到40-50厘米时,每亩撒施三元复合肥10千克。在藜麦生育后期,叶面喷洒磷肥和微量元素肥料,可促进开花结实和子粒灌浆。藜麦主要以旱作为主,如发生严重干旱,应及时浇水。 [4]', metadata={'source': './藜.txt'}),
 Document(page_content='在成熟期,要严防麻雀为害,及时收获,防止大风导致脱粒,造成损失。 [4]\n\n叶斑病病害:主要防治叶斑病,使用12.5%的烯唑醇可湿性粉剂3000-4000倍液喷雾防治,一般防治1-2次即可收到效果。 [4]', metadata={'source': './藜.txt'}),
 Document(page_content='虫害:藜麦常见虫害有象甲虫、金针虫、蝼蛄、黄条跳甲、横纹菜蝽、萹蓄齿胫叶甲、潜叶蝇、蚜虫、夜蛾等。防治方法:可每亩用3%的辛硫磷颗粒剂2-2.5千克于耕地前均匀撒施,随耕地翻入土中。也可以每亩用40%的辛硫磷乳油250毫升,加水1-2千克,拌细土20-25千克配成毒土,撒施地面翻入土中,防治地下害虫。 [4] [7]', metadata={'source': './藜.txt'}),
 Document(page_content='藜麦藜麦的营养价值超过任何一种传统的粮食作物,藜麦是一种全谷全营养完全蛋白碱性食物,藜麦作为一种藜科植物其蛋白质含量与牛肉相当,其品质也不亚于肉源蛋白与奶源蛋白。藜麦所含氨基酸种类丰富,除了人类必须的9种必须氨基酸,还含有许多非必须氨基酸,特别是富集多数作物没有的赖氨酸,并且含有种类丰富且含量较高的矿物元素,以及多种人体正常代谢所需要的维生素,不含胆固醇与麸质,糖含量、脂肪含量与热量都属于较低水平。 [1]', metadata={'source': './藜.txt'}),
 Document(page_content='藜麦富含的维生素、多酚、类黄酮类、皂苷和植物甾醇类物质具有多种健康功效。藜麦具有高蛋白,其所含脂肪中不饱和脂肪酸占83%。藜麦还是一种低果糖低葡萄糖的食物,能在糖脂代谢过程中发挥有益功效。 [5]', metadata={'source': './藜.txt'}),
 Document(page_content='藜麦的全营养性和高膳食纤维等特性决定了它对健康的益处。研究表明,藜麦富含的维生素、多酚、类黄酮类、皂苷和植物甾醇类物质具有多种健康功效。藜麦具有高蛋白,其所含脂肪中不饱和脂肪酸占83%,还是一种低果糖低葡萄糖的食物能在糖脂代谢过程中发挥有益功效。 [1]', metadata={'source': './藜.txt'})]
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值