从Naive到Agentic:收藏这份RAG技术演进指南,小白也能轻松掌握大模型应用
本文深入剖析了RAG检索增强生成技术的演进过程从基础的Naive RAG架构及其挑战逐步过渡到三大优化方向查询动态优化、语义理解增强以及计算效率革新。文章重点解析了Anthropic提出的上下文检索方法和缓存增强生成CAG的技术边界并最终聚焦于Agentic RAG的范式突破详细阐述了其核心机制如动态数据源路由和答案验证与修正循环。对于想要了解并应用大模型技术的读者本文提供了宝贵的理论指导和实践参考。1、Naive RAG 的出现2022 年底 ChatGPT 的推出让 LLMs 成为了主流几乎与此同时Naive RAG 也应运而生。检索增强生成RAG技术的出现旨在解决原生 LLM 所面临的问题。简而言之就是幻觉问题。有限的上下文窗口大小。无法访问非公开数据。无法自动获取训练截止日期后的新信息且更新这些知识需要重新训练模型。RAG 的最简单实现形式如下Naive RAG.预处理过程Preprocessing1将整个知识库的文本语料分割成文本块chunk —— 每个文本块代表一段可供查询的上下文片段。目标数据可来自多种来源例如以 Confluence 文档为主、PDF 报告为辅的混合资料库。2使用嵌入模型Embedding Model将每个文本块转换为向量嵌入vector embedding。3将所有向量嵌入存储到向量数据库Vector Database中。同时分别保存代表每个嵌入的文本及其指向嵌入的指针。检索过程Retrieval4在向量数据库或知识检索系统中为了确保查询和存储的知识能够准确匹配需要用同一个嵌入模型Embedding Model来处理存储到知识库中的文档内容和用户提出的问题或查询。5使用生成的向量嵌入在向量数据库的索引上运行查询。选择要从向量数据库中检索的向量数量 —— 等同于你将检索并最终用于回答查询的上下文数量。6向量数据库针对提供的向量嵌入在索引上执行近似最近邻ANN搜索并返回之前选定数量的上下文向量。该过程会返回在给定嵌入空间Embedding/Latent space中最相似的向量需将这些返回的向量嵌入映射到其对应的原始文本块。7通过提示词prompt将问题连同检索到的上下文文本块传递给 LLM。指示 LLM 仅使用提供的上下文来回答给定问题。这并不意味着不需要提示词工程Prompt Engineering——你仍需确保 LLM 返回的答案符合预期范围例如如果检索到的上下文中没有可用数据则应确保不提供编造的答案。2、Naive RAG 系统的动态组件即便不采用任何高级技术在构建生产级 RAG 系统时也需要考虑许多动态组件。RAG - 动态组件检索环节F) 分块策略 - 如何对用于外部上下文的数据进行分块小文本块与大文本块的选择滑动窗口或固定窗口的文本分块方法检索时是否关联父块/链接块或仅使用原始的检索数据C) 选择嵌入模型将外部上下文嵌入到 latent space 或从 latent space 中查询。需要考虑上下文嵌入Contextual embeddings。D) 向量数据库选择哪种数据库选择部署位置应与向量嵌入一并存储哪些元数据这些数据将用于检索前的预筛选和检索后的结果过滤。索引构建策略E) 向量搜索选择相似度度量标准选择查询路径元数据优先还是近似最近邻ANN优先混合搜索方案G) 启发式规则 - 应用于检索流程的业务规则根据文档的时间相关性调整权重对上下文进行去重根据多样性进行排序检索时附带内容的原始来源信息根据特定条件如用户查询意图、文档类型对原始文本进行差异化预处理生成环节A) 大语言模型 - 为你的应用程序选择合适的 LLMB) 提示词工程 - 即使能在提示词prompt中调用上下文信息也仍需精心设计提示词 —— 你依然需要调整系统译者注包括设定角色Role、规则Rules、输出格式Format等对齐手段。才能生成符合预期的输出并防范越狱攻击。完成上述所有工作后我们才得以构建可运行的 RAG 系统。但残酷的事实是此类系统往往难以真正解决业务问题。由于各种原因这种系统的准确性可能很低。3、改进 Naive RAG 系统的高级技术为不断提高 Naive RAG 系统的准确性我们采用了以下一些较为成功的技术查询改写Query Alteration - 可采用以下几种技巧查询重写Query rewriting让大语言模型LLM重写原始查询以更好地适应检索过程。重写的方式有多种例如修改语法错误或将查询简化为更简短精炼的语句。查询扩展Query Expansion让 LLM 对原始查询进行多次改写创建多个变体版本variations。接着多次运行检索过程以检索更多可能相关的上下文。重排序Reranking - 对初次检索出的文档用比常规上下文搜索更复杂的方法进行重排序。通常这需要使用更大的模型并且在检索阶段有意获取远超实际所需数量的文档。重排序Reranking与前文提到的查询扩展Query Expansion配合使用效果尤佳因为后者通常能返回比平时更多的数据。整个过程类似于我们在推荐系统中常见的做法。嵌入模型的微调Fine-Tuning of the embedding model - 某些领域如医疗在使用基础嵌入模型进行数据检索效果不佳。此时你就需要对自己的嵌入模型进行定制化微调。接下来我们再看些其它高级的 RAG 技术与架构。4、上下文检索Contextual Retrieval上下文检索Contextual Retrieval的概念由 Anthropic 团队在去年年底提出。其目标在于提升基于检索增强生成RAG的 AI 系统中检索到的数据的准确性和相关性。我非常喜欢上下文检索的直观性和简洁性。而且它的确能带来不错的效果。以下是上下文检索的实现步骤上下文检索Contextual Retrieval预处理阶段Preprocessing1使用选定的分块策略将每份文档分割成若干个文本块。2将每个文本块单独与完整文档一起加入提示词中。3在提示词中添加指令要求 LLM 定位该文本块在文档中的位置并为其生成简短的上下文。随后将此提示词输入选定的 LLM。4将上一步生成的上下文与其对应的原始文本块合并。5将组合后的数据输入一个 TF-IDF 嵌入器embedder。6再将数据输入一个基于 LLM 的嵌入模型embedding model。7将步骤 5 和步骤 6 生成的数据存入支持高效搜索的数据库中。检索阶段Retrieval8使用用户查询user query检索相关上下文。使用近似最近邻ANN搜索实现语义匹配同时使用 TF-IDF 索引进行精确搜索。9使用排序融合Rank Fusion技术对检索结果进行合并、去重并选出排名前 N 的候选项。10对前一步的结果进行重排序Rerank将范围缩小至前 K 个候选项。11将步骤 10 的结果与用户查询一起输入 LLM生成最终答案。一些思考步骤 3. 听起来并且实际也耗费惊人但通过应用提示词缓存技术Prompt Caching成本可以显著降低。提示词缓存技术既可在专有闭源模型场景下使用也可在开源模型场景下使用请参阅下一段内容。5、缓存增强生成Cache Augmented Generation的昙花一现2024 年底一份白皮书在社交媒体上短暂刷屏。它介绍了一项有望彻底改变 RAG (检索增强生成) 的技术真的能吗—— 缓存增强生成Cache Augmented Generation, CAG。我们已经了解了常规 RAG 的工作原理下面简要介绍一下 CAGRAG vs. CAG1将所有外部上下文预计算至 LLM 的 KV 缓存中并存入内存。该过程仅需执行一次后续步骤可重复调用初始缓存而无需重新计算。2向 LLM 输入包含用户查询user query的系统提示词同时提供如何使用缓存上下文的指令。3将 LLM 生成的答案返回用户。完成后清除缓存中的临时生成内容仅保留最初缓存的上下文使 LLM 准备好进行下一次生成。CAG 承诺通过将所有上下文存储在 KV 缓存中而非每次生成时只检索部分数据实现更精准的检索。现实如何CAG 无法解决因上下文极长而导致的不准确问题。CAG 在数据安全方面存在诸多局限性。对大型组织而言将整个内部知识库加载到缓存近乎不可能。缓存会失去动态更新能力添加新数据非常困难。事实上自从多数 LLM 提供商引入提示词缓存Prompt Caching技术后我们已在使用的正是 CAG 的一种变体。我们的做法可以说是 CAG 与 RAG 的融合具体实施过程如下RAG 和 CAG 的融合数据预处理1在缓存增强生成CAG中我们仅使用极少变化的数据源。除了要求数据更新频率低外我们还应该考虑哪些数据源最常被相关查询命中。确定这些信息后我们才会将所有选定的数据预计算至 LLM 的 KV 缓存中并将其缓存在内存中。此过程仅需执行一次后续步骤可多次运行而无需重新计算初始缓存。2对于 RAG如有必要可将向量嵌入预计算并存入兼容的数据库中供后续步骤 4 检索。有时对于 RAG 来说只需更简单的数据类型常规数据库即可满足需求。查询路径3构建一个提示词需包含用户查询及系统提示词明确指导大语言模型如何利用缓存的上下文cached context及外部检索到的上下文信息。4将用户查询转化为向量嵌入用于通过向量数据库进行语义搜索并从上下文存储中检索相关数据。若无需语义搜索则查询其他来源如实时数据库或互联网。5将步骤 4 中获取的外部上下文信息整合至最终的提示词中以增强回答质量。6向用户返回最终生成的答案。接下来我们将探讨最新的技术发展方向 —— Agentic RAG。6、Agentic RAGAgentic RAG 新增了两个核心组件试图降低应对复杂用户查询时的结果不一致性。数据源路由Data Source Routing。答案验证与修正Reflection。现在让我们来探究其工作机制。Agentic RAG1分析用户查询将原始用户查询传递给基于大语言模型的智能体进行分析。在此阶段a. 原始查询可能会被改写有时需多次改写最终生成单个或多个查询传递至后续流程。b. 智能体判断是否需要额外数据源来回答查询。这是体现其自主决策能力的第一环节。2如果需要其他数据则触发检索步骤此时进行数据源路由Data Source Routing。系统中可预置一个或多个数据集智能体被赋予自主权来选择适用于当前查询的具体数据源。举几个例子a. 实时用户数据如用户当前位置等实时信息。b. 用户可能感兴趣的内部文档。c. 网络公开数据。d. …3一旦从潜在的多个数据源检索到数据我们就会像在常规 RAG 中一样对其进行重排序。这也是一个关键步骤因为利用不同存储技术的多个数据源都可整合至此 RAG 系统中。检索过程的复杂性可被封装在提供给智能体的工具背后。4尝试直接通过大语言模型生成答案或生成多个答案或生成一组操作指令。此过程可在第一轮完成或在答案验证与修正Reflection环节后进行。5对生成的答案进行分析、总结并评估其正确性和相关性a. 若智能体判定答案已足够完善则返回给用户。b. 若智能体认为答案有待改进则尝试改写用户查询并重复这个生成循环generation loop。此处体现了常规 RAG 与 Agentic RAG 的第二大差异。近期 Anthropic 的开源项目 MCP将为 Agentic RAG 的开发提供强劲助力。7、总结 (Wrapping up)至此我们回顾了现代检索增强生成RAG架构的演进历程。RAG 技术并未消亡也不会在短期内消失。我相信其架构在未来一段时间内仍将持续演进。学习这些架构并了解何时使用何种方案将是一项有价值的投资。最后对于正在迷茫择业、想转行提升或是刚入门的程序员、编程小白来说有一个问题几乎人人都在问未来10年什么领域的职业发展潜力最大答案只有一个人工智能尤其是大模型方向当下人工智能行业正处于爆发式增长期其中大模型相关岗位更是供不应求薪资待遇直接拉满——字节跳动作为AI领域的头部玩家给硕士毕业的优质AI人才含大模型相关方向开出的月基础工资高达5万—6万元即便是非“人才计划”的普通应聘者月基础工资也能稳定在4万元左右。再看阿里、腾讯两大互联网大厂非“人才计划”的AI相关岗位应聘者月基础工资也约有3万元远超其他行业同资历岗位的薪资水平对于程序员、小白来说无疑是绝佳的转型和提升赛道。对于想入局大模型、抢占未来10年行业红利的程序员和小白来说现在正是最好的学习时机行业缺口大、大厂需求旺、薪资天花板高只要找准学习方向稳步提升技能就能轻松摆脱“低薪困境”抓住AI时代的职业机遇。如果你还不知道从何开始我自己整理一套全网最全最细的大模型零基础教程我也是一路自学走过来的很清楚小白前期学习的痛楚你要是没有方向还没有好的资源根本学不到东西下面是我整理的大模型学习资源希望能帮到你。扫码免费领取全部内容1、大模型学习路线2、从0到进阶大模型学习视频教程从入门到进阶这里都有跟着老师学习事半功倍。3、 入门必看大模型学习书籍文档.pdf书面上的技术书籍确实太多了这些是我精选出来的还有很多不在图里4、AI大模型最新行业报告2026最新行业报告针对不同行业的现状、趋势、问题、机会等进行系统地调研和评估以了解哪些行业更适合引入大模型的技术和应用以及在哪些方面可以发挥大模型的优势。5、面试试题/经验【大厂 AI 岗位面经分享107 道】【AI 大模型面试真题102 道】【LLMs 面试真题97 道】6、大模型项目实战配套源码适用人群四阶段学习规划共90天可落地执行第一阶段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 项目内容安全互联网信息服务算法备案…扫码免费领取全部内容3、这些资料真的有用吗这份资料由我和鲁为民博士(北京清华大学学士和美国加州理工学院博士)共同整理现任上海殷泊信息科技CEO其创立的MoPaaS云平台获Forrester全球’强劲表现者’认证服务航天科工、国家电网等1000企业以第一作者在IEEE Transactions发表论文50篇获NASA JPL火星探测系统强化学习专利等35项中美专利。本套AI大模型课程由清华大学-加州理工双料博士、吴文俊人工智能奖得主鲁为民教授领衔研发。资料内容涵盖了从入门到进阶的各类视频教程和实战项目无论你是小白还是有些技术基础的技术人员这份资料都绝对能帮助你提升薪资待遇转行大模型岗位。这份完整版的大模型 AI 学习资料已经上传CSDN朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】

相关新闻

最新新闻

日新闻

周新闻

月新闻