佛山微网站建设哪家专业,上海最好的网站是什么,不参与网站建设的弊端,江苏建设工程信息网官网入口本文系统梳理了RAG架构从基础到智能化的演进历程#xff0c;对比分析了Naive RAG、Advanced RAG、Modular RAG和Agentic RAG四代架构的核心特点与技术突破。揭示了RAG技术如何通过模块化设计、智能体协同等创新解决知识更新、语义对齐和复杂任务处理等关键问题#xff0c;为L…本文系统梳理了RAG架构从基础到智能化的演进历程对比分析了Naive RAG、Advanced RAG、Modular RAG和Agentic RAG四代架构的核心特点与技术突破。揭示了RAG技术如何通过模块化设计、智能体协同等创新解决知识更新、语义对齐和复杂任务处理等关键问题为LLM应用落地提供了重要参考。1、引言1.1 什么是RAG维基检索增强生成英语Retrieval-augmented generation, RAG ) 是赋予生成式人工智能模型信息检索能力的技术。检索增强生成优化大型语言模型(LLM) 的交互方式让模型根据指定的一组文件回应用户的查询并使用这些信息增强模型从自身庞大的静态训练数据中提取的信息。检索增强生成技术促使大型语言模型能够使用特定领域或更新后的信息。应用案例包括让聊天机器人访问公司内部资料或来自权威来源的事实信息。简易RAG流程元宝 RAG示例1.2 为什么需要RAG1、LLM的已知问题知识有限LLM训练是离线的其模型知识仅限于训练数据所覆盖的知识范围模型不具备新知识或未训练知识如没有实时数据或私有数据。容易产生幻觉没有答案的情况下可能会提供虚假信息。RAG是解决上述问题的一种比较轻量的解决方案。2、RAG优点轻量成本更低灵活相比组织特定领域信息重新训练基础模型RAG是将新数据引入LLM成本更低的方法。支持实时数据更新可以通过工具实时检索最新信息并利用LLM的整合推理能力更准确回答实时问题。可解释性可溯源答案来源可追溯到具体检索库以及检索内容用户可验证准确性。3、RAG缺点依赖知识库质量及系统设计系统回答的效果与外部知识库质量和整体系统设计有较大关系若设计不合理可能导致答案偏差。系统复杂度增加增加计算开销大规模的知识库检索会让整体系统更加复杂并且会延长系统性响应时间对耗时敏感的业务可能产生性能瓶颈。研究表明检索环节占RAG总耗时的60%以上。2、RAG演变流程Navie RAG - Advanced RAG - Modular RAG - Agentic RAG2.1 Navie RAG2.1.1 来源最早由meta在论文《Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks》中提出提出的原因为: 大规模预训练语言模型LLM虽在下游任务上表现优异但由于知识存储在参数中无法及时更新且易出现“幻觉”hallucination为此引入外部可检索的非参数化记忆如 Wikipedia 向量索引并将检索结果与生成模型结合从而提升知识密集型任务的准确性与可追溯性。2.1.2 介绍最简单的架构只包含3个阶段Indexing - Retrieval - Generation.流程1、索引构建(离线)数据加载从各个来源整合数据。文档切块按照一定策略切块文档如固定大小语义分块等。向量化与存储使用Embedding模型bge系列等将文档转换成向量将向量即文档信息存储到向量数据库腾讯云MilvusFaiss等。2、在线检索在线检索使用相同Embedding模型转换用户输入并从向量数据库检索相似TopK文档余弦相似度或者欧氏距离。生成将用户输入与检索到的toK文档组织成Prompt输入LLM生成回答。缺点检索质量不佳存在检索精度低和召回率低的问题可能导致无关或过时信息被召回影响生成答案的准确性。生成内容缺陷模型容易产生幻觉信息不足。2.2 Advanced RAG2.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.2 介绍基于Navie Rag增加两个步骤包含5个阶段Indexing - Pre Retrieval - Retrievel - Post Retrievel - Generation旨在解决文档召回的质量和准确率。Navie RAG属于Advanced Rag的一个特化即Pre Retrievel和Post Retrievel为空。1、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独立回答分解后并行回答。2、Post-Retrievel后检索处理: 侧重数据结果的二次加工过滤重排序Rerank对检索出的文档做更精细的评估将真正最匹配意图的文档排列到前面尽可能减少噪声上下文压缩Prompt Compression若检索出大量文档在输送给LLM之前可能还需要对文档做裁切仅保留最关键核心的内容2.3 Modular RAG2.3.1 来源Modular RAG 最早由 Yunfan Gao 等人在 2024 年 7 月的论文《Modular RAG: Transforming RAG Systems into LEGO-like Reconfigurable Frameworks》中首次系统化提出。提出的动因有:RAG系统日渐复杂传统RAG线性结构难以应对更复杂的需求需要合理抽象及规划否则系统维护困难。提升可重用性及维护快速迭代将各个环节抽象成一个个的可插拔模块便于RAG系统引入新的算法或计算策略。对比Advanced RAG架构该框架将系统各个部分抽象单独的模块与算子实现模块可复用易扩展及维护的RAG架构。2.3.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 举个例子1、代码示例使用haystack官方示例。Haystack是一个开源框架用于边界构建LLM应用程序框架整体采用“节点流水线”架构允许开发者通过自由组合预构建组件如检索器、生成器、评估器构建定制化管道工作流。################## ### 0. 组件定义 ### ################## 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) ################## ### 1. 添加组件 ### ################## 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)) ################## ### 2. 连接组件 ### ################## # This is the syntax to connect components. Here youre connecting output1 of component1 to input1 of component2: pipeline.connect(component1.output1, component2.input1) # If both components have only one output and input, you can just pass their names: pipeline.connect(component1, component2) # 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, component2.input1) # 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)2、可视化示例使用LangFlow。Modular RAG下的RAG流各个模块之间的协作可以有类似以下的工作流模式串联1、线性编排(Linear Pattern)整个RAG流由各个Module线性串联起来为最简单的模式。2、条件编排(Conditional Pattern)RAG流中会添加一些Route条件判断增强系统的灵活性。3、分支(并行)编排(Branching)RAG流中存在多个并行的分支各自处理后随之合并到一起这种情况多用于要增加生成结果的多样性而引入4、循环编排(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: 即检索器生成器微调。2.4 Agentic RAG2.4.1 来源最早Chidaksh Ravuru 等人于 2024 年 8 月 18 日在 arXiv 上发表的论文《Agentic Retrieval-Augmented Generation for Time Series Analysis》中正式提出。 提出动因多层次依赖难以捕捉传统 RAG 将检索和生成视为线性流水线对于具有季节性、趋势性及突发事件的时序数据单一向量检索器难以兼顾各类模式导致预测准确性不足。分布漂移与模型失效历史训练数据与实时数据分布常出现偏差若依赖静态文档库容易陷入“信息孤岛”降低时序分析的可靠性。对比传统RAG, Agentic RAG将能力依托于智能体提升了RAG系统的灵活性及扩展其应用边界。2.4.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在检索中引入了图检索合并图数据及其他检索数据增强检索效果3、总结架构提出动因主要特点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需处理复杂多步任务、多轮决策单轮静态流程不够希望结合检索与规划能力。- 多智能体架构主智能体协调子智能体 - 动态决策自主判断何时检索、何时生成 - 支持多轮迭代、任务自校正提高复杂任务的适应性与鲁棒性4、一些思考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 由于新岗位的生产效率要优于被取代岗位的生产效率所以实际上整个社会的生产效率是提升的。但是具体到个人只能说是“最先掌握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%免费】