简介
文章强调知识库是RAG系统的灵魂和基石,指出文档解析是构建高质量知识库的关键但常被忽视的环节。文档解析面临格式复杂、结构信息丢失等挑战,需要提取关键信息、保留文档结构、保证文本质量。不同业务场景需选择合适的文档处理方式和存储工具。好的知识库能解决大部分RAG问题,是RAG系统成功的基础。
“知识库是RAG的灵魂,一个好的知识库能解决绝大部分RAG问题。”
在之前关于RAG的优化文章中,大部分都是在强调检索端的优化,而关于文档解析方面的内容却非常的少,而这也是有原因的。
在之前介绍RAG的文章中,曾说过RAG是一种方法论,而不是一项具体的技术;其中有两个比较重要的模块:
- 其一是与大模型相关的上下文管理
- 其二是文档召回模块
其中文档召回模块又分为两大块,一块是知识库的构建,另一块是检索召回;而之前的文章主要就是针对检索召回和上下文管理。
而今天所讨论的文档解析,就属于知识库的构建,而这也是RAG系统好与坏的基石;一个好的知识库是RAG系统的基础,否则所谓的增强生成只能是空中楼阁。
因为,任何RAG相关的应用场景,在检索召回和上下文管理功能都可以进行复用;或者准确地说,RAG的检索召回和上下文管理的手段就只有这么多。但文档解析却不同,其需要根据不同的业务场景,数据格式进行特殊的处理,而这也是最难搞定的一环。
文档解析
为什么文档解析会那么难?
主要原因就在于文档格式和结构太复杂,特别是现在的富文本,同时包含图片,文字,表格等多种格式的数据;而如果只是格式种类比较多还问题不大,主要是文档内容多结构。
举例来说,你的文档是一个技术架构图,或者流程图等带有结构的数据,这时候你不论选择什么技术都很难进行处理。
以现在常见的OCR技术来说,虽然OCR能够识别出文档中内容,也就是信息;但是它识别不出来文档内容中的结构信息。
从作者个人的体验来看,除了纯文字的文档之外,任何带有结构化信息的文档,经过OCR处理之后,文档中的结构化信息全部丢失,而这对构建知识库来说会产生非常大的影响,甚至会直接导致有些文档完全无效,还不如不要。
所以在RAG中,文档处理的核心主要有以下三点:
- 提取关键信息
- 保留文档结构
- 保证文本质量
提取关键信息
保证文档中重要的数据内容都能被提取出来
保留文档结构
要保证文档的结构,如标题,段落,表格等;因此,作者在处理的过程中,会在每段拆分的文档前面拼接上其上层标题。
保证文本质量
有些人在使用文档格式转换工具或OCR工具之后,就直接把转换之后的文档切分并入库;但事实上这样的文档内容质量会非常差,原因就在于其中会存在很多噪音数据。
如图片,结构图,表格分隔符等,会占用大量的无效空间,导致文档质量直线下降;而这些噪音数据又很难处理,特别是在文档量比较大的情况下。一般情况下只能根据规则或正则表达式对内容进行适当的删除和处理。
因此,在RAG中知识库的构建,也就是文档的处理需要花费大量的时间和精力;然后根据不同的业务场景,选择合适的文档格式和结构,并且选择合适的存储工具;如传统数据库,向量数据库,知识图谱等。
如何学习AI大模型?
如果你对AI大模型入门感兴趣,那么你需要的话可以点击这里大模型重磅福利:入门进阶全套104G学习资源包免费分享!
这份完整版的大模型 AI 学习和面试资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】
这是一份大模型从零基础到进阶的学习路线大纲全览,小伙伴们记得点个收藏!
第一阶段:从大模型系统设计入手,讲解大模型的主要方法;
第二阶段:在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;
第三阶段:大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;
第四阶段:大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;
第五阶段:大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;
第六阶段:以SD多模态大模型为主,搭建了文生图小程序案例;
第七阶段:以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。
100套AI大模型商业化落地方案
大模型全套视频教程
200本大模型PDF书籍
👉学会后的收获:👈
• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;
• 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;
• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;
• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。
LLM面试题合集
大模型产品经理资源合集
大模型项目实战合集
👉获取方式:
😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费】🆓