核心内容摘要
二月纸箱厂侧拍视频大全最新版:揭秘生产线上的速度与激情
本文系统梳理了检索增强生成RAG架构的四代演进历程从简单的Naive RAG到增加预检索和后检索优化的Advanced RAG再到模块化设计的Modular RAG最后到引入智能体动态决策的Agentic RAG。
文章分析了各代架构的核心特点、技术突破及其解决的知识更新、语义对齐和复杂任务处理等关键问题为LLM应用落地提供了重要参考。
目录1 引言2 RAG演变流程3
总结4 一些思考本文系统梳理了检索增强生成RAG架构的演进历程从基础架构到智能化解决方案的迭代路径。
文章通过对比Naive RAG、Advanced RAG、Modular RAG和Agentic RAG四代架构的核心特点与技术突破揭示了RAG技术如何通过模块化设计、智能体协同等创新解决知识更新、语义对齐和复杂任务处理等关键问题为LLM应用落地提供重要参考。
由于作者水平有限若相关理解有误请以实际为准。
关注腾讯云开发者一手技术干货提前解锁鹅厂程序员面对面直播继续每周将邀请鹅厂明星技术大咖讲解 AI 时代下的“程序员护城河”。
更有蛇年公仔等精美周边等你来拿记得提前预约直播01引言
1 什么是RAG维基检索增强生成英语Retrieval-augmented generation, RAG ) 是赋予生成式人工智能模型信息检索能力的技术。
检索增强生成优化大型语言模型(LLM) 的交互方式让模型根据指定的一组文件回应用户的查询并使用这些信息增强模型从自身庞大的静态训练数据中提取的信息。
检索增强生成技术促使大型语言模型能够使用特定领域或更新后的信息。
应用案例包括让聊天机器人访问公司内部资料或来自权威来源的事实信息。
简易RAG流程元宝 RAG示例
2 为什么需要RAG
LLM的已知问题知识有限LLM训练是离线的其模型知识仅限于训练数据所覆盖的知识范围模型不具备新知识或未训练知识如没有实时数据或私有数据。
容易产生幻觉没有答案的情况下可能会提供虚假信息。
RAG是解决上述问题的一种比较轻量的解决方案。
RAG优点轻量成本更低灵活相比组织特定领域信息重新训练基础模型RAG是将新数据引入LLM成本更低的方法。
支持实时数据更新可以通过工具实时检索最新信息并利用LLM的整合推理能力更准确回答实时问题。
可解释性可溯源答案来源可追溯到具体检索库以及检索内容用户可验证准确性。
RAG缺点依赖知识库质量及系统设计系统回答的效果与外部知识库质量和整体系统设计有较大关系若设计不合理可能导致答案偏差。
系统复杂度增加增加计算开销大规模的知识库检索会让整体系统更加复杂并且会延长系统性响应时间对耗时敏感的业务可能产生性能瓶颈。
研究表明检索环节占RAG总耗时的60%以上。
02RAG演变流程Navie RAG - Advanced RAG - Modular RAG - Agentic RAG
1 Navie RAG
2.
1 来源最早由meta在论文《Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks》中提出提出的原因为: 大规模预训练语言模型LLM虽在下游任务上表现优异但由于知识存储在参数中无法及时更新且易出现“幻觉”hallucination为此引入外部可检索的非参数化记忆如 Wikipedia 向量索引并将检索结果与生成模型结合从而提升知识密集型任务的准确性与可追溯性。
2.
2 介绍最简单的架构只包含3个阶段Indexing - Retrieval - Generation.流程
索引构建(离线)数据加载从各个来源整合数据。
文档切块按照一定策略切块文档如固定大小语义分块等。
向量化与存储使用Embedding模型bge系列等将文档转换成向量将向量即文档信息存储到向量数据库腾讯云MilvusFaiss等。
在线检索在线检索使用相同Embedding模型转换用户输入并从向量数据库检索相似TopK文档余弦相似度或者欧氏距离。
生成将用户输入与检索到的toK文档组织成Prompt输入LLM生成回答。
缺点检索质量不佳存在检索精度低和召回率低的问题可能导致无关或过时信息被召回影响生成答案的准确性。
生成内容缺陷模型容易产生幻觉信息不足。
2 Advanced RAG
2.
1 来源没有明确的提出者在Navie RAG架构之后由多方逐步演进得到如微软研究院提出HyDE谷歌引入Rerank以及如Elastic和Cohere公司提出的各种优化技术等由多方共同构成Advanced RAG技术体系. 这些优化技术提出的动因主要是由于Navie RAG仍存在一系列问题如检索精度不足Navie RAG依赖关键词匹配如BM25或简单向量检索导致语义偏差问题。
多上下文割裂Navie RAG直接将检索到的上下文直接拼接Prompt输入LLM没有做post-retrieval处理文档容易出现冗余或矛盾。
无法处理复杂场景Navie RAG工作流比较简单没有针对性优化系统表现上限有限。
2.
2 介绍基于Navie Rag增加两个步骤包含5个阶段Indexing - Pre Retrieval - Retrievel - Post Retrievel - Generation旨在解决文档召回的质量和准确率。
Navie RAG属于Advanced Rag的一个特化即Pre Retrievel和Post Retrievel为空。
Pre-Retrieval预检索处理: 侧重数据索引优化。
索引数据优化增强数据密度如利用LLM清洗冗余信息元数据增强条件过滤等。
增强索引语义: 如预生成chunk快的假设性问题提升检索对称性建立如关键词搜索BM25向量检索或图数据库。
尝试多种chunk分块策略固定大小递归语义分块。
Embeddings模型优化: 针对特定领域数据对模型进行微调提升语义匹配精度。
Query增强Query translation: query转换用于用户的不确定性用户可能会输入模糊表达或query与index文档不在一个语义空间或query过于复杂的情况因此需要query转换。
如query-rewrite,query-expansion等。
Query enhancement: query增强增强或者扩大用户输入的query语义如: HyDE(假设文档增强)Step-Back Prompting(回退一步prompt)。
Query decomposition: query分解把用户的复杂query分解成多个可管理的子问题引导模型逐步解决各个子问题。
如Answer Recursively递归回答迭代Answer Individually独立回答分解后并行回答。
Post-Retrievel后检索处理: 侧重数据结果的二次加工过滤重排序Rerank对检索出的文档做更精细的评估将真正最匹配意图的文档排列到前面尽可能减少噪声上下文压缩Prompt Compression若检索出大量文档在输送给LLM之前可能还需要对文档做裁切仅保留最关键核心的内容
3 Modular RAG
2.
1 来源Modular RAG 最早由 Yunfan Gao 等人在 2024 年 7 月的论文《Modular RAG: Transforming RAG Systems into LEGO-like Reconfigurable Frameworks》中首次系统化提出。
提出的动因有:RAG系统日渐复杂传统RAG线性结构难以应对更复杂的需求需要合理抽象及规划否则系统维护困难。
提升可重用性及维护快速迭代将各个环节抽象成一个个的可插拔模块便于RAG系统引入新的算法或计算策略。
对比Advanced RAG架构该框架将系统各个部分抽象单独的模块与算子实现模块可复用易扩展及维护的RAG架构。
2.
2 介绍Modular RAG: Transforming RAG Systems into LEGO-like Reconfigurable Frameworks模块化RAG将 RAG 系统分为 Module Type、Module 和 Operators 三层结构。
每个 Module Type 代表 RAG 系统中的一个核心流程包含多个功能模块。
每个功能模块反过来都包含多个特定的运算符。
整个 RAG 系统变成了多个模块和相应运算符的排列组合形成了我们所说的 RAG Flow。
整体有7个部分Indexing, Pre Retrieval, Retrievel, Post Retrievel, Memory, Generation, Orchestration.这种范式在基于Advanced RAG的横向架构上引入了纵向的结构即Module和Operators。
Orchestration是Modular RAG区分Advanced RAG的一个重要部分而Memory模块虽然在原论文没有提及但笔者认为也是Modular RAG的一个重要组成部分用于赋予RAG系统的长期记忆能力Module Type: RAG系统中的模块分类即Indexing, Pre Retrieval, Retrievel, Post Retrievel, Memory, Generation, Orchestration模块可以理解是函数接口。
Module: RAG系统中的具体功能组件每个模块负责完成某个子任务如Retrievel中可以是VectorRetriever向量检索HybridRetriever混合检索。
可以理解是函数接口的实现类Operators: 每个模块的具体实现可以理解是接口实现类内部的核心算法完整功能的代码片段如VectorRetriever里有如下余弦相似度算法def _cosine_similarity(query_vec, doc_vec): # 操作符 return np.dot(query_vec, doc_vec) / (np.linalg.norm(query_vec)*np.linalg.norm(doc_vec))关键区别Modular RAG的模块间通过数据流而非单纯函数调用交互如检索模块输出文档列表给生成模块。
操作符可以跨模块复用如相似度计算操作符可能被多个检索模块共享。
Modular Rag 举个例子
代码示例使用haystack官方示例。
Haystack是一个开源框架用于边界构建LLM应用程序框架整体采用“节点流水线”架构允许开发者通过自由组合预构建组件如检索器、生成器、评估器构建定制化管道工作流。
################## ###
组件定义 ### ################## from haystack import Document, Pipeline from haystack.document_stores.in_memory import InMemoryDocumentStore from haystack.components.embedders import SentenceTransformersTextEmbedder from haystack.components.retrievers.in_memory import InMemoryEmbeddingRetriever document_store InMemoryDocumentStore(embedding_similarity_functioncosine) text_embedder SentenceTransformersTextEmbedder() retriever InMemoryEmbeddingRetriever(document_storedocument_store) ################## ###
添加组件 ### ################## query_pipeline Pipeline() query_pipeline.add_component(component_name, component_type) # Here is an example of how youd add the components initialized in step 2 above: query_pipeline.add_component(text_embedder, text_embedder) query_pipeline.add_component(retriever, retriever) # You could also add components without initializing them before: query_pipeline.add_component(text_embedder, SentenceTransformersTextEmbedder()) query_pipeline.add_component(retriever, InMemoryEmbeddingRetriever(document_storedocument_store)) ################## ###
连接组件 ### ################## # This is the syntax to connect components. Here youre connecting output1 of component1 to input1 of component2: pipeline.connect(component
output1, component
input
# If both components have only one output and input, you can just pass their names: pipeline.connect(component1, component
# If one of the components has only one output but the other has multiple inputs, # you can pass just the name of the component with a single output, but for the component with # multiple inputs, you must specify which input you want to connect # Here, component1 has only one output, but component2 has mulitiple inputs: pipeline.connect(component1, component
input
# And heres how it should look like for the semantic document search pipeline were using as an example: pipeline.connect(text_embedder.embedding, retriever.query_embedding) # Because the InMemoryEmbeddingRetriever only has one input, this is also correct: pipeline.connect(text_embedder.embedding, retriever)
可视化示例使用LangFlow。
Modular RAG下的RAG流各个模块之间的协作可以有类似以下的工作流模式串联
线性编排(Linear Pattern)整个RAG流由各个Module线性串联起来为最简单的模式。
条件编排(Conditional Pattern)RAG流中会添加一些Route条件判断增强系统的灵活性。
分支(并行)编排(Branching)RAG流中存在多个并行的分支各自处理后随之合并到一起这种情况多用于要增加生成结果的多样性而引入
循环编排(Loop Pattern)Interative retrieval(循环检索): 单次检索和生成无法有效解决需要大量知识的复杂问题每次循环后会把当前Generate的输出作为匹配源再去检索内容,直到循环结束整体类似HyDE检索增强方法。
ITER-RETGEN是一种实现循环检索的架构。
核心: 在每次迭代中ITER-RETGEN 利用上一次迭代的模型输出作为特定上下文来帮助检索更多相关知识。
HyDE(Hypothetical Document Embeddings), 即预先让LLM生成用户问题的答案然后再用答案去知识库检索更大范围内的内容即提升query的泛化性如: query: 如何提高睡眠质量, 但知识库为“不喝咖啡睡前不玩手机等”内容此时可以用LLM先生成简单的答案可能未“提升睡眠质量要避免咖啡因和电子设备等…”此时可以检索到对应文档rescursive retrieval(递归检索): 与循环检索类似但更明确的指出依赖前一步的各个内容如利用上一次的query改写内容不断深化检索不断明确用户查询消除歧义有更明确的退出循环的条件。
TOC RAG流是一种实现关键在Tree of Clarification中通过澄清树结构在不断迭代中消除用户输入的歧义。
澄清树: 当初始查询不明确时通过递归迭代不断生成多层子问题。
每次迭代检索会基于上一次迭代的输入检索结果和生成内容重新文档rerank生成新的节点插入到树中达到一定深度或者节点树后合并成一个全面的答案。
TOC RAG流一种rescursive retrieval的实现Tree of ClarificationInterative和rescursive的比较维度Interativerescursive核心在检索和生成之间交替执行多次循环逐步迭代出更优结果不断将复杂问题拆解成简单子问题并逐层整合子答案生成最终结果场景需要逐步细化答案的开放性问题如模糊查询、多意图混合问题需多跳推理的复杂问题如技术文档分析、法律条款追溯Adaptive retrieval(自适应检索)引入LLM Agent概念在系统关键环节使用LLM判断是否应该怎么行动。
如可以在pre-retrieval环节使用LLM判断是否需要去检索外部知识。
同Adaptive Agentic RAG。
tuning模式RAG系统在各个Module都可能使用了LLM技术使用数据微调以优化各个LLM组件的表现包括retriever fine-tuning: 检索器微调。
generator fine-tuning: 生成器微调。
dual fine-tuning: 即检索器生成器微调。
4 Agentic RAG
2.
1 来源最早Chidaksh Ravuru 等人于 2024 年 8 月 18 日在 arXiv 上发表的论文《Agentic Retrieval-Augmented Generation for Time Series Analysis》中正式提出。
提出动因多层次依赖难以捕捉传统 RAG 将检索和生成视为线性流水线对于具有季节性、趋势性及突发事件的时序数据单一向量检索器难以兼顾各类模式导致预测准确性不足。
分布漂移与模型失效历史训练数据与实时数据分布常出现偏差若依赖静态文档库容易陷入“信息孤岛”降低时序分析的可靠性。
对比传统RAG, Agentic RAG将能力依托于智能体提升了RAG系统的灵活性及扩展其应用边界。
2.
2 介绍Agentic RAG架构上引入Agent的思路实现动态决策如是否检索、工具调用和多轮迭代优化。
相比上述提到的几种RAGAgentic RAG将实际输入处理的多样性交给LLM处理可以解决更复杂的问题。
Agent的核心部件LLM Memory Planning Tools如何运作?从Modular RAG的架构来看只要是涉及LLM的模块理论上都可以使用Agent来增强但在该Agentic RAG架构中更多强调的是在retrievel模块中使用。
在检索阶段不同数据源可以视作不同的tool然后由检索Agent集成这些tool动态检索内容一些Agent Agentic RAG架构Single-Agent Agentic RAG该框架核心是一个系统决策中心的Router Agent该Agent动态处理信息检索集成操作类似上述Modular RAG中提到的条件编排的Agent代理版本比较适用于多检索源的简单问答场景。
Multi-Agent Agentic RAG为Single-Agent Agentic RAG架构的演进版本用多个专用代理来细化更复杂的工作流和不同的查询类型。
核心Router Agent下又挂接了多个检索Agent, 如Agent1用于查询结构化数据(Mysql)Agent2用于查询非结构化数据Agent3用于Web查询或专用API查询等。
Hierarchical Agentic RAG分层代理RAG为Multi-Agent Agentic RAG架构的拓展将整个系统分为多个层级的Agent由顶级Agent驱动子Agent并聚合子Agent的结果。
Agentic Corrective RAGCorrective RAG的核心是他可以动态评估检索到的文档并纠正查询提升检索文档的质量。
Agentic Corrective RAG系统建立在5个关键Agent上。
Context Retrieval Agent: 负责从数据库中检索相关上下文。
Relevance Evaluation Agent: 负责评估检索到的文档的相关性并标记出不相关或不明确文档并采取纠正措施。
Query Refinement Agent: 重写query增强检索的Agent。
External Knowledge Retrieval Agent: 当Context Retrieval Agent检索的上下文不足时从其他备用数据源检索数据(如Web 检索)。
Response Synthesis Agent: 组织响应Agent。
Adaptive Agentic RAG自适应Agent RAG, 与上述Modular RAG中的Adaptive retrieval一样语义上都是在各个环节引入了LLM判断并在引入LLM评测实现Loop自迭代。
Graph-Based Agentic RAGGraph-Based Agentic RAG在检索中引入了图检索合并图数据及其他检索数据增强检索效果03
总结架构提出动因主要特点Naive RAGLLM 容易“幻觉”参数化知识难更新需外部检索补充知识并提供可追溯的证据。
- 三步流程文档切块 → 向量检索 → 拼接提示生成 - 一体化端到端微调RAG-Sequence RAG-Token - 减少参数化模型的幻觉提升开放域 QA 准确率Advanced RAG用户查询与知识库语义不对齐Naive RAG 检索噪声多、生成质量有限。
- 预检索(Pre Retrieval)查询重写/扩展 (Rewrite) - 检索(Retrieval)语义向量检索 - 后检索(Post Retrieval)结果重排序、摘要压缩Modular RAG随着检索器、LLM 等组件飞速迭代传统管道难快速集成新功能、维护成本高。
- 七大模块: Indexing, Pre Retrieval, Retrievel, Post Retrievel, Memory, Generation, Orchestration - 将检索、重排序、压缩、生成等拆分为可插拔模块 - 引入路由、调度、融合算子 - 模块化设计灵活扩展支持多种 RAG 模式线性、条件、分支、循环Agentic RAG需处理复杂多步任务、多轮决策单轮静态流程不够希望结合检索与规划能力。
- 多智能体架构主智能体协调子智能体 - 动态决策自主判断何时检索、何时生成 - 支持多轮迭代、任务自校正提高复杂任务的适应性与鲁棒性04一些思考Generation模块(LLM回答)的前后处理在Advanced RAG中为了提升最终回答效果从而引入了Pre-Retrieval和Post-Retrieval两个流程或对回答LLM进行微调。
从 “garbage in garbage out”理论来看实际落地时需要充分考虑业务属性提升输入LLM的数据质量。
RAG系统设计的模块化可插拔由于RAG系统的不确定性引入LLM在构建自己的RAG系统时可参考Modular RAG思维使用模块化设计便于快速切换某环节中的Module后验证整体系统效果。
Agent的不稳定实际业务落地存在不确定性当前由于模型能力的瓶颈Agent系统存在极大的不确定性在Agentic RAG系统中在大的层面引入Agent对实际业务落地不太可取可考虑在某个小环节中引入如Generation问答补充在基于检索出的文档后动态给定一些tools让其优化回答效果。
AI时代未来的就业机会在哪里答案就藏在大模型的浪潮里。
从ChatGPT、DeepSeek等日常工具到自然语言处理、计算机视觉、多模态等核心领域技术普惠化、应用垂直化与生态开源化正催生Prompt工程师、自然语言处理、计算机视觉工程师、大模型算法工程师、AI应用产品经理等AI岗位。
掌握大模型技能就是把握高薪未来。
那么普通人如何抓住大模型风口AI技术的普及对个人能力提出了新的要求在AI时代持续学习和适应新技术变得尤为重要。
无论是企业还是个人都需要不断更新知识体系提升与AI协作的能力以适应不断变化的工作环境。
因此这里给大家整理了一份《2026最新大模型全套学习资源》包括2026最新大模型学习路线、大模型书籍、视频教程、项目实战、最新行业报告、面试题、AI产品经理入门到精通等带你从零基础入门到精通快速掌握大模型技术由于篇幅有限有需要的小伙伴可以扫码获取
成长路线图学习规划要学习一门新的技术作为新手一定要先学习成长路线图方向不对努力白费。
这里我们为新手和想要进一步提升的专业人士准备了一份详细的学习成长路线图和规划。
大模型经典PDF书籍书籍和学习文档资料是学习大模型过程中必不可少的我们精选了一系列深入探讨大模型技术的书籍和学习文档它们由领域内的顶尖专家撰写内容全面、深入、详尽为你学习大模型提供坚实的理论基础。
书籍含电子版PDF
大模型视频教程对于很多自学或者没有基础的同学来说书籍这些纯文字类的学习教材会觉得比较晦涩难以理解因此我们提供了丰富的大模型视频教程以动态、形象的方式展示技术概念帮助你更快、更轻松地掌握核心知识。
大模型项目实战学以致用当你的理论知识积累到一定程度就需要通过项目实战在实际操作中检验和巩固你所学到的知识同时为你找工作和职业发展打下坚实的基础。
大模型行业报告行业分析主要包括对不同行业的现状、趋势、问题、机会等进行系统地调研和评估以了解哪些行业更适合引入大模型的技术和应用以及在哪些方面可以发挥大模型的优势。
大模型面试题面试不仅是技术的较量更需要充分的准备。
在你已经掌握了大模型技术之后就需要开始准备面试我们将提供精心整理的大模型面试题库涵盖当前面试中可能遇到的各种技术问题让你在面试中游刃有余。
为什么大家都在学AI大模型随着AI技术的发展企业对人才的需求从“单一技术”转向 “AI行业”双背景。
企业对人才的需求从“单一技术”转向 “AI行业”双背景。
金融AI、制造AI、医疗AI等跨界岗位薪资涨幅达30%-50%。
同时很多人面临优化裁员近期科技巨头英特尔裁员2万人传统岗位不断缩减因此转行AI势在必行这些资料有用吗这份资料由我们和鲁为民博士(北京清华大学学士和美国加州理工学院博士)共同整理现任上海殷泊信息科技CEO其创立的MoPaaS云平台获Forrester全球’强劲表现者’认证服务航天科工、国家电网等1000企业以第一作者在IEEE Transactions发表论文50篇获NASA JPL火星探测系统强化学习专利等35项中美专利。
本套AI大模型课程由清华大学-加州理工双料博士、吴文俊人工智能奖得主鲁为民教授领衔研发。
资料内容涵盖了从入门到进阶的各类视频教程和实战项目无论你是小白还是有些技术基础的技术人员这份资料都绝对能帮助你提升薪资待遇转行大模型岗位。
大模型全套学习资料已整理打包有需要的小伙伴可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】