第1章:了解大模型与RAG

1、了解大模型

  1. 大模型爆发背景:以ChatGPT为代表的大模型是2023年以来全球科技界焦点,创造用户增长纪录,引发"百模大战",推动AI进入2.0时代;其爆发关键在于应用层能提供实际价值、贴近普通人且使用门槛极低(仅需通过Prompt交互)。
  2. 大模型核心特征:属于生成式AI,区别于传统决策式AI,更擅长推理与创造,可生成文本、图片等AIGC内容;底层依赖复杂深度学习与神经网络,但应用层呈现简洁交互形式。
  3. 大模型应用进化
    • 个人领域(To C):覆盖对话机器人、精准搜索、翻译、文档创作/辅助阅读、虚拟角色扮演、多模态创作、代码辅助生成等,以独立工具或AI Copilot形式存在;
    • 企业领域(To B):逐步探索智能客服、在线咨询、智能营销、交互式数据分析等场景,部分处于原型验证阶段;
    • 形态升级:从简单对话机器人,进化为具备自我规划、记忆、使用外部工具、自省纠错能力的AI智能体(AI Agent)。
  4. 大模型固有缺陷:并非无所不能,存在知识时效性差(训练数据滞后,无法回答超训练时间点问题)、"黑盒子"难以解释(内部推理过程不可观察,调试困难)、输出不确定性(受temperature等参数影响,结果随机性强)、"幻觉"(编造错误信息,尤其垂直领域/企业私有知识场景)四大核心问题,这些缺陷也推动了RAG等优化方案的诞生。

2、RAG简介

RAG是"检索增强生成"的缩写,是一种结合外部数据检索大模型生成的技术:

  • 基础逻辑(简单版):先从外部数据(文档、数据库等)里检索与问题相关的信息,再把这些信息传给大模型,让它基于这些信息生成回答,以此解决大模型"知识过时""容易胡说(幻觉)"的问题。
  • 复杂度差异
    • 原型阶段很简单:用低代码平台/开发框架(比如LlamaIndex),几分钟就能搭出演示应用;
    • 生产阶段很复杂:企业级场景要面对数据多样、检索不准、响应慢等问题,需要做大量优化。

3、LlamaIndex框架是什么?

LlamaIndex是一个专注于RAG(检索增强生成)场景的大模型应用开发框架,核心是帮开发者更高效地将外部数据(文档、数据库等)与大模型结合,快速搭建RAG应用。

它的特点是:

  • 轻量易上手:学习门槛低于LangChain,对RAG场景的适配性更强;
  • 组件封装完善:内置文档加载、分割、向量存储、索引构建、查询引擎等RAG全流程组件;
  • 扩展性强:支持对接各类大模型、向量库、嵌入模型,可满足企业级个性化需求。

还有哪些同类框架?

主流的大模型应用开发框架(尤其适配RAG)还有:

  1. LangChain
    • 特点:组件生态最丰富,不仅支持RAG,还覆盖智能体、多工具链等场景;但功能复杂,学习成本较高。
  2. AutoGen
    • 特点:主打"多智能体协作",适合构建多角色交互的复杂应用,也可结合RAG实现数据增强。
  3. FastGPT
    • 特点:低代码/无代码工具,内置RAG流程模板,适合快速搭建简单知识类应用,但灵活性较弱。

4、为什么需要RAG?

结合文章内容,需要RAG的核心原因是解决大模型本身的缺陷 ,具体如下:

大模型虽然具备强大的自然语言生成能力,但存在几个关键问题:

  1. 知识时效性差:大模型的训练数据是固定的,无法获取训练后更新的信息;
  2. 易产生"幻觉":会编造不存在的内容,尤其是专业领域知识;
  3. "黑盒子"属性:输出结果的依据不透明,难以解释;
  4. 上下文窗口有限:无法处理超长文本的完整信息。

而RAG通过"检索外部数据+增强大模型生成"的模式,能直接补充实时/专业知识、减少"幻觉"、让回答更可追溯,同时突破大模型自身的知识与上下文限制。

RAG 的基本思想可以简单表述如下 :将传统的生成式大模型与实时信息 检索技术相结合,为大模型补充来自外部的相关数据与上下文,以帮助大模型 生成更丰富、更准确、更可靠的内容。这允许大模型在生成内容时可以依赖实 时与个性化的数据和知识,而不只是依赖训练知识。

4.1、RAG的经典流程

在了解了RAG 的一些基本概念与简单的应用场景后,我们从技术层来看 一个最基础、最常见的RAG 应用的逻辑架构与流程。注意:下面这张图中仅展示了一个最小粒度的RAG 应用的基础原理,而在当今的实际RAG 应用中,对于不同的应用场景、客观条件、工程要求,会有更多的模块、架构 与流程的优化设计,在后面的内容中将会进一步阐述。

通常可以把开发一个简单的RAG 应用从整体上分为**数据索引 (Indexing) 数据查询(Query)**两个大的阶段,在每个阶段都包含不同的处理阶段。

4.2、数据索引阶段

数据索引阶段是RAG应用的"知识储备环节",核心是将原始数据转化为可高效检索的格式,为后续查询打基础,核心流程为"加载→分割→嵌入→索引"四步:

  1. 数据加载 :读取本地文档、网络数据、数据库等多源数据,统一转为Document对象,同时生成基础/自定义元数据;
  2. 数据分割 :按语义或规则将文档拆为合适粒度的知识块,通过chunk_size(知识块token数)和chunk_overlap(重叠token数)平衡语义完整与检索精准;
  3. 数据嵌入:用嵌入模型(云端如OpenAI模型、本地如BGE模型)将知识块转为向量,且索引与查询阶段需用同一模型;
  4. 数据索引 :将"向量+知识块+元数据"存入索引库,常见索引类型有向量存储索引(核心)、文档摘要索引、知识图谱索引等。
    该阶段需应对知识块粒度、数据去重更新、多模态处理等挑战,处理质量直接影响后续检索精准度。

4.3、数据查询阶段

数据查询阶段是RAG应用的"知识调用与生成环节",核心是基于用户查询从索引库中精准获取相关知识,并借助大模型生成答案,核心流程包含两大核心阶段(检索、生成)及优化阶段(检索前处理、检索后处理):

  1. 检索(Retrieval):依托数据索引阶段构建的索引(如向量索引),从存储库(向量库等)中检索与用户查询语义相关的知识块,按相关性排序后输出(通常取top_K个),为生成阶段提供参考上下文;
  2. 生成(Generation):以大模型为核心(本地部署或云端调用),结合用户原始查询与检索出的相关知识块,通过设计的Prompt生成最终答案并输出;
  3. 优化阶段:部分优化的RAG流程会增加检索前处理(如查询转换、扩充,提升检索精准度)与检索后处理(如知识块重排序、过滤无效信息,优化生成质量)。

5、RAG面临的挑战

RAG应用在实际落地(尤其是企业级场景)中主要面临5大核心挑战,具体如下:

  1. 检索召回精确度不足

    RAG的核心是通过检索补充外部知识,若检索出的知识块携带大量无用、噪声数据或矛盾信息(如自然语言歧义导致语义匹配偏差),会直接影响大模型生成质量,无法为后续生成提供有效支撑。

  2. 大模型抗干扰能力弱

    检索出的上下文可能包含干扰、多余或矛盾信息,而大模型需准确识别、区分这些无效内容,并严格按Prompt指令基于有效知识生成答案,若模型自身理解与筛选能力不足,会导致输出偏离预期。

  3. 大模型上下文窗口限制

    大模型存在输入token数量上限(即上下文窗口限制),若需从大规模知识库中检索大量相关知识块,可能超出窗口容量导致失败,如何在有限窗口内携带"最有价值知识块"是关键难题。

  4. RAG与微调的选择困境

    模型微调是另一种优化大模型领域适配性的方案,与RAG相比,微调将知识融入模型训练过程,简化应用架构,但需额外数据与算力成本;RAG灵活度高但依赖检索精度,开发者需根据业务场景(如知识更新频率、成本预算)权衡选择,存在决策难度。

  5. 响应性能与延迟矛盾

    相较于大模型直接生成,RAG增加了"检索-前处理-后处理"等步骤,且复杂RAG范式(如多轮迭代优化)会进一步增加处理环节,导致端到端响应延迟升高,在企业级低延迟需求场景(如实时客服)中,如何平衡"生成质量"与"响应速度"成为挑战。

6、RAG应用架构演进小结

RAG范式与架构随技术发展和场景需求迭代,核心分为3个阶段,整体呈现"从简单顺序流程到灵活模块化组合"的演进逻辑,具体如下:

  1. 第一阶段:Naive RAG(朴素/经典RAG)

    是最早的基础架构,遵循"索引→检索→生成"3个核心模块的顺序流程,仅保留最简单的执行节点,无额外优化环节,适用于原型演示或简单知识问答场景,但面对复杂业务需求时灵活性与性能不足。

  2. 第二阶段:Advanced RAG(高级RAG)

    在Naive RAG基础上增强核心阶段,重点优化检索环节------新增"检索前处理"(如查询转换、扩充以提升检索精准度)与"检索后处理"(如知识块重排序、过滤无效信息以优化生成质量),进一步提升检索召回精度与生成可靠性,更适配中低复杂度的企业级场景。

  3. 第三阶段:Modular RAG(模块化RAG)

    突破前两阶段的链式顺序流程,采用"模块类-模块-算法"的分层设计:将RAG流程拆解为预检索、检索、生成等核心模块类,每个模块类下包含多个功能模块(如预检索中的"查询转换"模块),每个模块又支持多种算法实现(如查询转换可通过普通重写、HyDE重写等算法完成)。

    其核心优势是高灵活性与扩展性 :开发者可根据业务场景(如多模态文档处理、复杂推理需求)灵活组合模块与算法,构造个性化RAG工作流,能应对复杂多变的企业级需求。

    此外,2020年Meta首次提出RAG概念,2022年ChatGPT推动RAG研究聚焦"解决大模型幻觉",2024年随先进大模型(如GPT-4、Gemini Pro)应用,更多优化理论(如RAG与微调结合、迭代自省流程)涌现,推动架构向模块化、精细化方向发展。

7、RAG与微调的选择

该部分核心围绕"如何为大模型增强生成能力选择方案"展开,先明确两者本质差异,再通过对比与场景划分提供选择依据,具体如下:

一、大模型微调基础认知

微调是对大模型(基座模型)在少量标注数据上二次训练,分"受监督微调+RLHF(基于人类反馈的强化学习)"阶段,核心是让模型"记住"特定领域知识或适配任务(如情感检测、行业术语理解)。其特点是:需额外数据准备(采集、清洗、标注)、算力与技术成本(需ML专家),但优化后模型可直接输出领域相关结果,推理时token消耗低。

二、RAG与微调核心差异(类比理解)

  • RAG:类似"考试时给学生一本参考书",需实时检索外部知识辅助回答,无需改变模型本身,知识更新灵活(更新参考书即可);
  • 微调:类似"考试前给学生针对性辅导",将知识融入模型,考试时无需额外参考,但知识更新需重新辅导(再次微调)。

三、RAG与微调优劣势对比

维度 RAG 微调
优点 1. 灵活:可随时调整Prompt适配需求;2. 技术简单:无需复杂训练流程;3. 知识适配快:新增知识只需更新检索库;4. 无额外训练成本 1. 模型自带领域能力:输出更贴合场景,无需实时检索;2. 下游使用简单:调用时无需携带大量上下文;3. 推理成本低:节省token消耗
缺点 1. 受大模型上下文窗口限制;2. 连续对话中上下文管理难;3. 高准确性场景失败概率高;4. 推理时需携带长Prompt,成本高;5. 模型迭代可能需重新调整Prompt 1. 非开箱即用:需数据、算力、技术投入;2. 知识更新慢:新内容需重新微调,不适用于实时知识;3. 无法完全避免"幻觉",过度微调可能导致模型能力下降;4. 需专业人员(ML、数据专家)支持

四、选择建议

  1. 优先选RAG的场景:多数通用场景(如企业知识库问答、实时信息查询),尤其知识动态更新(如产品迭代快)、成本敏感、无专业技术团队的情况;
  2. 优先选微调的场景:①需注入大量稳定领域知识(如医疗、法律专业知识),且知识更新周期长;②关键任务需极高准确率(如医疗诊断、精准数据分析);③用RAG、Prompt工程后仍无法达业务目标(如指令理解偏差、输出稳定性差)。

此外,"两者融合是未来方向"------可通过微调让模型更擅长"使用RAG检索结果",或用RAG辅助生成微调数据,兼顾灵活性与准确性。

8、RAG与具有理解超长上下文能力的大模型小结

超长上下文大模型和RAG"两者需互补而非替代",具体内容如下:

一、背景:超长上下文大模型的兴起

随着大模型技术发展,上下文窗口从早期4K-8K token大幅扩容(如Claude 3、Gemini 1.5宣称支持1M token),部分模型还具备"大海捞针"能力(在超长上下文中精准定位事实知识),引发"RAG是否可被替代"的争议------有观点认为,若能直接将大量文档塞入模型窗口,外部检索(RAG核心)便无必要。

二、超长上下文大模型无法替代RAG的核心原因

尽管超长上下文模型看似能覆盖更多知识,但从实际应用(尤其企业级场景)的效用、成本、可靠性等维度看,仍存在不可忽视的问题,无法完全替代RAG:

  1. 上下文窗口仍有局限:1M token虽大,但企业级知识库可能包含数百万文档,无法一次性塞入模型;

  2. 成本与性能失衡:反复输入超长上下文会显著增加网络传输、推理时间与token成本,性价比低;

  3. 知识动态更新难题:企业知识实时变化(如产品迭代、政策更新),无法每次都重新输入全部文档;

  4. "大海捞针"能力不稳健:测试(如LLMTest_NeedleInAHaystack工具)显示,模型检索精度受上下文长度(2K与128K精度差异大)、知识块位置(文档首尾与中间精度不同)、知识块数量(检索1个与10个精度不同)影响,可靠性不足;

  5. 复杂任务适配差:知识密集型任务不仅是事实问答,还需多轮推理、跨文档关联,仅依赖模型自身上下文理解难以满足需求;

  6. 工程化管理困难 :超长上下文导致模型输出溯源、调试、评估更复杂,且企业私有知识直接输入模型存在安全风险。

    上图是借助 LLMTest_NeedleInAHaystack(开源测试工具) 对大模型"大海捞针"能力(在超长上下文中精准检索事实知识)的测试结果,核心说明当前具有理解超长上下文能力的大模型,其精准检索能力并非绝对可靠,受多因素影响存在明显局限性,具体可结合测试结论拆解:

  7. 检索精度与上下文长度强相关:图中不同颜色/深度代表不同得分(颜色越深得分越高),能直观看到------当输入上下文长度不同(如2K token vs 128K token)时,大模型精准检索目标知识的得分差异显著,并非上下文越长检索越精准,长上下文场景下精度可能下降。

  8. 知识块位置影响检索结果:测试显示,目标知识块在超长上下文所处的位置(如文档开头、中间、结尾)会直接影响模型检索效果,部分模型在处理"非首尾位置"的知识块时,得分明显降低,说明其对上下文中间区域的信息捕捉能力较弱。

  9. 知识块数量增加会降低精度:当需要从超长上下文中检索多个知识块(如1个 vs 10个)时,模型检索准确率会随知识块数量增多而下降,难以同时精准定位多个分散的事实信息。

综上,上图可视化数据佐证了"仅依赖超长上下文大模型无法完全替代RAG"的结论------大模型的超长上下文能力存在局限性,而RAG通过精准检索筛选核心知识的优势,可弥补这一不足,两者需互补协同。

三、两者的最优关系:互补协同

RAG与超长上下文大模型需取长补短,平衡"简洁性"与"灵活性":

  • 超长上下文大模型为RAG提供优化基础:未来可将"较大文档"而非"小知识块"作为RAG检索单位,简化分割与索引流程;
  • RAG为模型弥补灵活性与可控性短板 :通过精准检索筛选核心知识,避免模型处理冗余信息,同时支持知识动态更新、安全管控,适配企业级复杂需求。
相关推荐
大模型教程.3 小时前
收藏级教程:ReAct模式详解,让大模型从回答问题到解决问题
前端·人工智能·机器学习·前端框架·大模型·产品经理·react
Robot侠3 小时前
多模态大语言模型(Multimodal LLM)技术实践指南
人工智能·语言模型·自然语言处理·transformer·rag·多模态大模型
程序猿追5 小时前
在昇腾NPU上实战部署LongCat-Video:从环境配置到长视频生成的完整指南
python·大模型·华为云·音视频
蜂蜜黄油呀土豆17 小时前
RAG 应用开发背景与问题痛点:从大模型幻觉到检索增强生成
ai·大语言模型·rag·检索增强生成·llm应用开发
KAI智习18 小时前
大模型榜单周报(2025/12/20)
人工智能·大模型
咩图20 小时前
使用ollama完成私有大模型搭建
大模型·ollama·私有化
我很哇塞耶21 小时前
BOSS直聘3B超越Qwen3-32B,更多训练数据刷新小模型极限
人工智能·ai·大模型
沛沛老爹1 天前
Web开发者快速上手AI Agent:基于LangChain的提示词应用优化实战
人工智能·python·langchain·提示词·rag·web转型
骚戴1 天前
n1n:从替代LiteLLM Proxy自建网关到企业级统一架构的进阶之路
人工智能·python·大模型·llm·gateway·api