程序员必藏:告别“能用就行“:RAG系统优化全攻略,让你的AI应用真正智能起来
本文探讨了企业级RAG系统的三大核心环节:文档预处理、文档召回和生成增强。针对复杂文档处理,提出统一格式转换与内容优化的方案;在召回环节强调问题优化与标签检索的重要性;生成阶段则需整合文档、控制上下文并优化格式。作者通过实际项目经验,分享了如何从"功能实现"到"质量优化"的RAG系统构建方法,帮助企业提升AI应用的准确性和用户体验。
“ 想做一个RAG项目很容易,但要想做好一个RAG系统却很难。”
最近手上的一个RAG聊天类项目也算接近了尾声,虽然从功能上来说项目已经完成了;但从质量上来看,其实离真正的完成还差了老大一截,原因就是做出来了,但没做好。
因此,今天我们就来基于这个项目做一个基本的项目总结,看看在一个企业级RAG系统中,到底存在哪些问题,以及应该怎么做。
企业级RAG
还是那句话,RAG从技术的角度来看主要是三个部分:
-
文档预处理
-
文档召回
-
生成增强
所以,我们就从这三个角度来看一下在真正的企业级项目中应该怎么做。
文档预处理
文档预处理一直都是RAG系统中的一个技术难点,原因就在于无格式的复杂文档处理;典型的就是word,pdf这种图文表混合的文档,目前为止还没有一个很好的解决方案。
但技术的发展是一个线性的过程,并不能因为存在问题就不管了;因此,面对这种问题我们需要在贴合业务场景的前提下,尽量的把这些存在问题的影响降到最低。

在这里我们需要强调,也是需要注意的一件事;文档预处理之前一定要搞明白你的业务场景,不同的业务场景对文档处理的要求也不尽相同;比如说你是业务咨询类场景,这时你可能主要需要的是一些文字描述类文档;而如果你是技术咨询类场景,可能还需要大量的架构图,方案设计等。
前者我们可能只需要使用ocr技术或者直接把文档中的图片给丢掉即可;而后者可能需要使用多模态技术,把文档中的图 文 表给抠出来,然后进行混合检索和回答。
再说文档格式的问题,在真实的业务场景中,文档的来源很复杂包括线下文档word,pdf,excel,txt等常见文档,以及线上文档数据库,API等;数据格式也多种多样,因此需要有一个统一的文档格式来承载这些不同的文档数据,只有这样才能方便我们统一进行管理和预处理。

毕竟对于检索召回端来说,文档预处理属于前置流程,其对检索召回是无感的;所以,在文档预处理时只需要按照要求的文档格式进行处理,那么就可以完全做到文档处理和召回的分离,减少系统的耦合性。
比如作者在项目中就是把所有格式的文档都处理成markdown格式,这样就可以进行统一的管理和向量化。
当然这里文档转换成markdown格式,并不是直接把原文档简单转换成markdown即可;而是需要对原文档进行清洗,梳理,删除一些无用和不规范的内容,尽量让markdown文档变得紧凑,舍弃部门全而不精的内容。
并且,可以对处理之后的markdown文档进行总结提炼——summary,以及提取标签;这样在检索端就可以使用标量召回和相似度召回,提升召回率。
文档召回
在第一步文档处理过程中,我们在尽可能保证文档质量的前提下,第二步要关注的就是文档召回的方式问题了。
在文档召回过程中,我们首先需要对用户的问题进行处理;这里的处理包括问题的完善和优化,提出相似子问题,以及最后的兜底问题等。
原因主要在于,用户在提出问题时除非特别专业或了解相关内容;否则很多情况下,用户自己可能都不知道到底应该怎么提问题,以及问题中会存在语义不通顺,错别字等情况。所以,对问题进行改写优化,并从多个维度提出几个相似性问题,有助于提高召回率。

其次,可以根据用户的问题提取标签,这样就可以根据这些标签进行标量检索,这样能够大大提升准确率以及查询效率;毕竟简单的字符匹配相对应向量计算要快得多。
之后,通过多种方式召回数据之后,最后需要对召回的数据进行去重,排序等操作;把相似度最高的数据丢给大模型,而不是把召回的所有数据都丢给大模型。
生成增强
在完成数据召回之后,并不是说这些数据就直接丢给大模型,我们还需要对这些数据进行处理;否则会存在很多问题。
比如说,你最终召回的数据是一个文档列表,我们是否能够先把这个文档列表转换成一段完整的文档;而不是一段一段好像无关的文档列表。
其次,由于模型上下文窗口有限,特别是在多轮对话中,我们可能还需要对召回的文档进行提炼总结之后再丢给模型;以及对历史记录进行压缩;一是为了防止上下文超长导致内容丢失,二是上下文过长会导致模型处理质量下降。
最后,在一些业务场景中,可能还需要给用户展示参考文档,以及源文档;这时我们还需要处理好文档的格式,否则给用户看到一堆没有格式的乱七八糟的内容,也会影响用户体验。
零基础如何学习大模型
读者福利大放送:如果你对大模型感兴趣,想更加深入的学习大模型**,那么这份精心整理的大模型学习资料,绝对能帮你少走弯路、快速入门**
如果你是零基础小白,别担心——大模型入门真的没那么难,你完全可以学得会!
👉 不用你懂任何算法和数学知识,公式推导、复杂原理这些都不用操心;
👉 也不挑电脑配置,普通家用电脑完全能 hold 住,不用额外花钱升级设备;
👉 更不用你提前学 Python 之类的编程语言,零基础照样能上手。
你要做的特别简单:跟着我的讲解走,照着教程里的步骤一步步操作就行。
包括:大模型学习线路汇总、学习阶段,大模型实战案例,大模型学习视频,人工智能、机器学习、大模型书籍PDF。带你从零基础系统性的学好大模型!
现在这份资料免费分享给大家,有需要的小伙伴,直接VX扫描下方二维码就能领取啦😝↓↓↓
为什么要学习大模型?
数据显示,2023 年我国大模型相关人才缺口已突破百万,这一数字直接暴露了人才培养体系的严重滞后与供给不足。而随着人工智能技术的飞速迭代,产业对专业人才的需求将呈爆发式增长,据预测,到 2025 年这一缺口将急剧扩大至 400 万!!
大模型学习路线汇总
整体的学习路线分成L1到L4四个阶段,一步步带你从入门到进阶,从理论到实战,跟着学习路线一步步打卡,小白也能轻松学会!
大模型实战项目&配套源码
光学理论可不够,这套学习资料还包含了丰富的实战案例,让你在实战中检验成果巩固所学知识
大模型学习必看书籍PDF
我精选了一系列大模型技术的书籍和学习文档(电子版),它们由领域内的顶尖专家撰写,内容全面、深入、详尽,为你学习大模型提供坚实的理论基础。
大模型超全面试题汇总
在面试过程中可能遇到的问题,我都给大家汇总好了,能让你们在面试中游刃有余
这些资料真的有用吗?
这份资料由我和鲁为民博士(北京清华大学学士和美国加州理工学院博士)共同整理,现任上海殷泊信息科技CEO,其创立的MoPaaS云平台获Forrester全球’强劲表现者’认证,服务航天科工、国家电网等1000+企业,以第一作者在IEEE Transactions发表论文50+篇,获NASA JPL火星探测系统强化学习专利等35项中美专利。本套AI大模型课程由清华大学-加州理工双料博士、吴文俊人工智能奖得主鲁为民教授领衔研发。
资料内容涵盖了从入门到进阶的各类视频教程和实战项目,无论你是小白还是有些技术基础的技术人员,这份资料都绝对能帮助你提升薪资待遇,转行大模型岗位。
👉获取方式:
😝有需要的小伙伴,可以保存图片到VX扫描下方二维码免费领取【保证100%免费】
相信我,这套大模型系统教程将会是全网最齐全 最适合零基础的!!
更多推荐
所有评论(0)