ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

小白程序员快速入门:RAG解决大模型痛点,提升知识生成能力

小白程序员快速入门:RAG解决大模型痛点,提升知识生成能力

大模型存在幻觉、知识更新滞后、数据安全和隐私等问题。RAG(检索增强生成)通过结合检索系统和生成模型,从外部知识库中检索信息,作为提示输入给LLM,提升回答的准确性和相关性。RAG优势在于引入外部知识、易于更新知识、可观测和可解释,并有效降低幻觉问题。文章详细介绍了RAG的技术架构、演进过程、开源框架及实际应用中的注意事项,帮助读者全面理解RAG如何成为AI知识利用的基础设施。

01LLM的问题,RAG的破局 大模型的缺点:

  • 幻觉,在没有答案的时候会提供一些虚假的信息。
  • 新鲜度:模型知识的更新成本、周期、及大模型的通用能力问题。知识新鲜度的更新,模型的训练都有滞后性,用当下模型的时候会有知识的缺失。
  • 数据安全和隐私等问题。
  • 大多数模型的Context Window非常有限,模型无法读取所有内容。
  • 输入太杂乱会影响模型理解。
  • 输入越多,模型推理成本高、推理速度慢。

RAG就是检索增强生成,结合检索系统和生成模型来提高语言生成的准确性和相关性。通过从外部知识库中检索相关信息,并将其作为提示(Prompt)输入给大型语言模型(LLMs),以增强模型处理知识密集型任务的能力,提供更加符合上下文语境的回答。

RAG的优势:

  • RAG的优势在于它能够在生成响应时引入外部知识,提供更符合上下文语境的回答。

  • 与预训练模型不同,RAG的内部知识可以很容易地修改甚至实时补充。

  • 相比微调技术,RAG具备可观测性、可解释性等优势,还可以有效降低大模型的幻觉问题。

  • 知识实时性困境

  • 大模型:大模型训练数据存在时间截断。

  • RAG:RAG通过实时检索最新文档(如科研论文/新闻),动态扩展模型知识边界。

  • 事实准确性困境
  • 大模型:纯生成模型易产生“幻觉”(Hallucination),虚构不存在的事实。

  • RAG:RAG先检索相关证据文档,要求模型严格基于检索内容生成,显著降低错误率。

  • 领域适配成本问题
  • 大模型:微调(Fine-tuning)需要大量标注数据和计算资源。

  • RAG:RAG仅需构建领域文档库,即可让通用模型输出专业内容(如法律/医疗场景)。

Rag具有的特点:

  • 可扩展性:企业知识库以 TB/PB 计,远超长上下文窗口的承载能力
  • 准确性:长上下文模型存在“上下文悬崖”,远未达到理论极限就已性能下降
  • 延迟与效率:全量输入导致响应慢 & 成本高,RAG能精准定位最相关信息
  • 数据隐私:支持基于角色的访问控制,避免将所有数据暴露给基础模型
  • 部署资源受限:显存/算力限制无法支持超长上下文(如 Qwen-14B 在 A100-40G上仅能接收约20k token)
  • 实际案例:即使百万token窗口,也仅相当于1500页文档,远不足以覆盖全库

RAG系统的组成

RAG是一个系统,不是单一的组件,由多个组件组成的复杂系统,LLM只是其中的一个组件。

RAG系统组件包括:

  • Chunk(切块):文档如果太大,系统会把它拆成小片段。比如《报销手册》被拆成”机票报销“、”酒店报销“、”差旅补贴“。检索时就能更精准,不需要把整本手册塞进给大模型。
  • Embedding(向量化):把文字转成一组数字(向量),相似的句子距离很近,不相关的距离很远。比如”机票报销“和”出差机票费用申请“离得近,而和”量子纠缠“则完全不搭界。
  • Vector Database(向量数据库):存放向量的仓库,可以快速找出和问题最相近的几段内容。常见的向量数据库有Milvus、Weaviate、Pinecone等。
  • Retrieval(检索):除了把切块转成向量,用户的问题也会转成向量,在向量数据库与其他数据片段比较“距离”(距离越近,代表内容越相关),检索的结果就是找出最相关的几个片段。
  • Generation(生成):检索到片段 + 用户问题 → 输入大模型 → 输出自然语言答案。

切块、向量化、向量数据库,这三部分可以理解为是离线部分去做,检索和生成是在线部分做。

RAG已死?

我们总会听到一个词叫RAG已死,因为现在大模型有长上下文的能力之后它就可以吃到更多的TOKEN,这样的话是不是RAG就没有用了, 下面是Meta AI的一个Rag原文作者说他当时做Rag的一个初衷

目标:结合参数化记忆(模型本身知识)+ 非参数化记忆(外部检索知识),从而扩展语言模型的知识库。

解决痛点:

  • 无法访问私有(企业内部)数据:模型无法访问 私有/专有数据
  • 参数知识过时:无法实时更新,其训练数据截止日期与当前时间之间总会存在差距。
  • 幻觉与归因问题:模型经常编造听起来合理但错误的信息,缺乏可验证来源。

错误的二分法

  • RAG vs 长上下文 vs 微调 vs MCP ≠ 你死我活
  • 正确认识:它们是互补关系
  • RAG → 获取外部知识

  • 微调 → 优化处理与应用

  • 长上下文 → 承载更多检索信息

  • MCP → 简化工具/Agent集成

  • 类比:RAG不是“过时工具”,而像 硬盘与内存,在系统中各司其职

结论:RAG永远不是“过时替代品”,而是AI知识利用的基础设施。真正有价值的方案,必然是 检索 + 长上下文 + 微调 + MCP 的组合拳。

传统问答系统 VS 问答对FAQ VS Rag检索增强生成

传统问答系统 vs 现代问题系统(RAG):

问答对(FAQ)vs RAG(检索增强生成):

基于问答对的问答:

基于问答对的问答就像一个“预设答案库”。系统会提前整理好一系列问题与对应的答案(通常由人工或规则生成),当用户提出问题时,系统通过关键词匹配或语义向量匹配,从库中找出最相似的问答对,直接返回答案。它的核心在于高效匹配,可以不依赖大型语言模型(LLM),实现简单且轻量。特点:

  • 数据结构:固定问答对数据库。
  • 匹配方式:关键词或语义匹配。
  • 回答方式:直接返回已有答。

基于文档的问答(RAG):

RAG是一种更现代的方案。它将文档切分成小块,转化为向量存储在知识库中。当用户提问时,系统先通过向量检索找到与问题最相关的文档片段,再交给大型语言模型(LLM)生成自然语言回答。RAG结合了检索与生成,灵活性更强。特点是:

  • 数据结构:文档切分后向量化存储。
  • 匹配方式:向量相似度检索。
  • 回答方式:LLM综合检索结果生成答案。
  • 灵活性:能推理、组合生成新答案。

双层知识库问答

第一层:FAQ知识库(人工标注):这是一个高质量、小而精的知识库,存储着由领域专家撰写和审核的标准问答对。它专门针对那些频繁发生、具有标准问答对的回答。这一层的目标是提供"零偏差"的答案。

第二层:向量知识库(文档语料):这是一个大规模、广覆盖的知识库,包含了操作手册、行业规范、领域文档等海量非结构化文档。通过文本分割、向量化后存储于向量数据库中。它负责处理FAQ知识库未覆盖的长尾问题和复杂查询。

02大模型微调和Rag

大模型微调&RAG的对比

03RAG的技术架构

RAG的整体技术架构如上图,主要分为离线和在线,离线就是先进行文本切块,再进行分词向量化,得到一个向量库索引库,索引库可以进行文本索引,也可以做一个向量索引。

当用户来进行提问之后,分别做一个文本混合检索和一个向量检索,计算用户的问题与语料库中哪些文本块相似,比较相似高的k个块作为答案。检索完之后,把数据进行重排序,最后返回k个答案文本块给大模型。最后结合提示词工程模板,将检索得到的k个块和用户的问题一起送进大模型,大模型基于给定的文本块来回答用户的问题。

Rag技术演进:

最开始的Rag是23年,用户提问后,对这个向量对这些文件进行一个检索,当检索完回来之后,直接组装成提示词送给大模型就回答了,这是最简单的一个方式。更高级点就是在检索做了一个前优化,一个后优化。那前优化就是做了一些查询的改写路由,分配到哪些知识库这种路由,检索完之后,我们进行就是对检索内容,再怎样进行检索,检索完之后了,我们在后在那个检索之后进行一个重排序融合这些操作之后,最后组装成提示词之后给大模型,这是高级进阶的rag。

再之后就相当于把RAG拆成模块化,RAG并不是一个单一的组件,它是多个组件的组合,组件就可以认为进行的模块化,比如检索是一个组件,重排序是一个组件,OCR识别也是一个组件,好处是可扩展在不同场景,有些场景可能不需要重排序,有些场景可能需要查询改写,就可以对组件可以进行一个可插拔的方式,对每个组件单独评估配置,这样也好维护,各组件之间就是松耦合,这个是RAG的一个演进方式。

主流开源框架

①RAGFlow

②QAnything

RAG开源框架对比

RAG自研技术架构

上图是Rag的天地之间。

天地之间下边的数据细节,每个业务数据都是独一无二的,就会有一些隐私数据。第二点就是在进行RAG调试的时候,数据是非常重要的。Rag的思想很简单就是检索增强生成,我们需要考虑的是如何搭建RAG,把RAG进行普适的推广,一定要进行数据分析,把数据的细节做好。所以这是Rag的一个地,一定要踩这个地才行。

天是它的系统架构,可以认为是一个工程架构。离线、在线怎么做?我们要保证的是系统的整体最优,而不是局部最优。

优化检索、优化大模型,也不一定对整体最优。如果检索的策略效果提升了,但是检索内容会引入一些杂质,需要进行测试才可以,而且一些检索办法不一定完全适配于你的业务,还是需要尝试的。

这是Rag的一个系统架构,中间部分是数据细节和系统架构,是天地之间的内容,是索引构建,检索策略生成,索引构建包括了离线文档解析、知识入库构建向量embedding,还有一些数据库的选型。

检索策略包括全文检索、向量检索,检索之前用一个多轮的query改写,检索之后可以把答案检索内容进行一个整合排序排版,把内容送到大模型中。做完之后,可能会有一些业务适配的情况,需要围绕业务目标去设计流程,去来实现场景化的一个落地。

中间的索引架构、检索策略都是为了满足系统架构能够非常好,可以达到系统架构最优的路径,它不能光考虑局部最优,还要考虑整体。

  • 第一数据可能会存在混淆的情况,没法进行很好的问答, 所以数据要进行分库,进行数据筛选。
  • 第二过度依赖通用的检索算法,比如用全文检索+向量检索组合的混合检索,如果大部分用户提问都是一些关键词,全文检索就能检索到这部分内容,就不需要向量检索了,全文检索还比较准可靠。向量检索的场景是用户问题提问比较模糊,基本不问关键词,可能全文检索会拉低向量检索的得分,这时就需要分析到底用单一的检索还是混合检索,这是第二点误区。
  • 第三文本拆分的粒度不合理,默认的切分方式为256、512这种,实际上不同文档的切块方式是不一样的。比如法律类的文章,就一大段一大段的,切分256可能有点儿太细了,512的大小是比较符合的。比如说我们有一些文章内容,实际上他没有那么大,可能256。所以就可以把接口开放给用户,让用户去选择256还是512,因为用户更比你更了解业务。
  • 第四将误将检索的召回率等同于检索的效果,检索召回率的时候会有一些指标如NDCG,其实更要关注的是一些精确率、准确率,它只是召回来了,但实际上得看看它的准确率有多少。拿到召回数据可以看看TOP1、TOP3、TOP5、TOP10的一个结果,这样可以确认召回的效果。
  • 第五生成阶段过度依赖大模型,大模型可以承接很多上下文,就很容易把这些内容直接扔给大模型,这样的话会有一些杂质,而且还会存在一种什么,就是说你,比如说你在提示词的时候告诉他基于以上内容进行回答,大模型一看上面内容之后,也不管这内容是否完全跟用户提问相关,就直接回答,所以还得在提示词里做一些约束,严格基于以上内容进行回复,跟用户问题相关。
  • 第六忽视用户的查询意图,比如用户询问怎么解决手机充电慢的情况,因为他的问题是一个偏口语化的,检索回来可能就是手机充电原理,这种情况就不是完全符合预期。需要增加改写功能,把用户的提问改写成偏标准化的问题,这样就可以解决检索到无关内容的情况,避免检索到无关内容。
  • 第七是查询意图的理解,除了改写之外,还有前置的意图分类。比如有常见问题类,有故障类这种问题,把这两个数据都放在一个数据源里进行一个问答可能回答的不好,因为常见问题会跟故障进行混淆,但是把这两个库分开,在前面做一个意图分发,比如识别的时候,用户的问题是跟常见问题相关,那就在常见问题库里去检索,那它一定是准的,比在全库里更准。当用户进行提问之后,先进行意图分发确定到哪个知识库后。再进行快速改写、检索。

这就是Rag的一个天地之间。

如何学习大模型 AI ?

由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。

但是具体到个人,只能说是:

“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。

这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。

我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】

为什么要学习大模型?

我国在A大模型领域面临人才短缺,数量与质量均落后于发达国家。2023年,人才缺口已超百万,凸显培养不足。随着AI技术飞速发展,预计到2025年,这一缺口将急剧扩大至400万,严重制约我国AI产业的创新步伐。加强人才培养,优化教育体系,国际合作并进是破解困局、推动AI发展的关键。

大模型入门到实战全套学习大礼包

1、大模型系统化学习路线

作为学习AI大模型技术的新手,方向至关重要。 正确的学习路线可以为你节省时间,少走弯路;方向不对,努力白费。这里我给大家准备了一份最科学最系统的学习成长路线图和学习规划,带你从零基础入门到精通!


2、大模型学习书籍&文档

学习AI大模型离不开书籍文档,我精选了一系列大模型技术的书籍和学习文档(电子版),它们由领域内的顶尖专家撰写,内容全面、深入、详尽,为你学习大模型提供坚实的理论基础。

3、AI大模型最新行业报告

2025最新行业报告,针对不同行业的现状、趋势、问题、机会等进行系统地调研和评估,以了解哪些行业更适合引入大模型的技术和应用,以及在哪些方面可以发挥大模型的优势。

4、大模型项目实战&配套源码

学以致用,在项目实战中检验和巩固你所学到的知识,同时为你找工作就业和职业发展打下坚实的基础。

5、大模型大厂面试真题

面试不仅是技术的较量,更需要充分的准备。在你已经掌握了大模型技术之后,就需要开始准备面试,我精心整理了一份大模型面试题库,涵盖当前面试中可能遇到的各种技术问题,让你在面试中游刃有余。

适用人群

第一阶段(10天):初阶应用

该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。

  • 大模型 AI 能干什么?
  • 大模型是怎样获得「智能」的?
  • 用好 AI 的核心心法
  • 大模型应用业务架构
  • 大模型应用技术架构
  • 代码示例:向 GPT-3.5 灌入新知识
  • 提示工程的意义和核心思想
  • Prompt 典型构成
  • 指令调优方法论
  • 思维链和思维树
  • Prompt 攻击和防范
  • …
第二阶段(30天):高阶应用

该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。

  • 为什么要做 RAG
  • 搭建一个简单的 ChatPDF
  • 检索的基础概念
  • 什么是向量表示(Embeddings)
  • 向量数据库与向量检索
  • 基于向量检索的 RAG
  • 搭建 RAG 系统的扩展知识
  • 混合检索与 RAG-Fusion 简介
  • 向量模型本地部署
  • …
第三阶段(30天):模型训练

恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。

到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?

  • 为什么要做 RAG
  • 什么是模型
  • 什么是模型训练
  • 求解器 & 损失函数简介
  • 小实验2:手写一个简单的神经网络并训练它
  • 什么是训练/预训练/微调/轻量化微调
  • Transformer结构简介
  • 轻量化微调
  • 实验数据集的构建
  • …
第四阶段(20天):商业闭环

对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。

  • 硬件选型
  • 带你了解全球大模型
  • 使用国产大模型服务
  • 搭建 OpenAI 代理
  • 热身:基于阿里云 PAI 部署 Stable Diffusion
  • 在本地计算机运行大模型
  • 大模型的私有化部署
  • 基于 vLLM 部署大模型
  • 案例:如何优雅地在阿里云私有部署开源大模型
  • 部署一套开源 LLM 项目
  • 内容安全
  • 互联网信息服务算法备案
  • …

学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。

如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】

RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进