- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
基于langchainRAG问答应用实战
来自:AiGC面试宝典
宁静致远2024年02月08日10:04
一、前言
1.1介绍
本次选用百度百科——藜麦数据(/item/藜麦/5843874)模拟个人或企业私域数
据,并基于langchain开发框架,实现一种简单的RAG问答应用示例。
1.2软件资源
•CUDA11.7
•Python3.10
•pytorch1.13.1+cu117
•langchain
二、环境搭建
2.1下载代码
$
2.2构建环境
$condacreate-npy310_chatpython3.10#创建新环境
$sourceactivatepy310_chat#激活环境
2.3安装依赖
$pipinstalldatasetslangchainsentence_transformerstqdmchromadb
langchain_wenxin
三、RAG问答应用实战
3.1数据构建
藜麦数据(/item/藜麦/5843874)保存到藜.txt文件中。
3.2本地数据加载
fromlangchain.document_loadersimportTextLoader
loader=TextLoader(./藜.txt)
documents=loader.load()
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藜麦富含的维生素、多酚、类黄酮类、皂苷和植物甾醇类物质具有多种健康功
效。...
3.3文档分割
文档分割,借助langchain的字符分割器,这里采用固定字符长度分割chunk_size=128
#文档分割
fromlangchain.text_splitterimportCharacterTextSplitter
#创建拆分器
text_splitter=CharacterTextSplitter(chunk_size128,chunk_overlap0)
#拆分文档
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\xa
文档评论(0)