一 什么是RAG RAG,英文全称是 Retrieval-Augmented Generation,中文我们一般叫做检索增强生成,这是一种结合信息检索技术与生成式大语言模型(LLM)的框架。 RAG 的核心思想是:在生成答案前,先从外部知识库中检索相关信息,并将这些信息作为上下文输入大模型,从而提升生成内容的准确性和时效性。 这个“先查资料再回答”的过程,就是 RAG(检索增强生成)的核心! 具体来说,RAG 就是让 AI 学会“先查资料再说话”。 三 如何实现 RAG 我们来看下这张经典的 RAG 流程图: 这张图清晰展示了检索增强生成(RAG)的核心流程,分为数据准备和问答生成两大阶段。 我们分别来看。 六 典型应用场景 企业知识库问答 员工提问“报销流程” → 检索内部制度文档 → 生成步骤化指引。 学术研究辅助 输入“量子计算最新进展” → 检索 arXiv 论文摘要 → 生成综述性回答。
检索增强生成(Retrieval-Augmented Generation, RAG)是一种结合了检索机制和生成模型的先进技术,旨在提高自然语言处理系统的准确性和上下文相关性。 本文将详细介绍如何从零开始构建一个RAG系统,包括数据处理、检索、生成以及部署等各个环节。 检索管道:根据用户的查询从已索引的数据库中检索最相关的信息,使用检索策略和重排序方法来优化结果。 生成管道:将检索到的数据与用户的查询结合,生成准确、相关且连贯的响应。 构建RAG系统的步骤 1. 文本分块:将长文本分割成较小的块,以便于后续的嵌入和检索。 2. 向量嵌入生成 向量嵌入是RAG系统的基础,它将文本数据转换为数值表示,使得计算机能够理解其语义。 上下文整合与生成响应 一旦获得相关文档,RAG系统将执行以下操作: 上下文整合:将检索到的信息与用户查询结合,形成一个丰富的上下文提示,这一步骤对于生成准确响应至关重要。
RAG=Retrieval-AugmentedGeneration=检索增强生成核心思想:先搜索,再回答。就像开卷考试——允许你翻书找答案。 │将检索到的文档+用户问题│││(Augment)│组合成完整的Prompt││└──────┬──────┘│││││▼││┌─────────────┐│││生成│大模型基于检索内容生成回答│││( ───┼───────┘▼合并去重排序│▼生成最终回答(3)Self-RAG(自反思RAG)让模型自我判断是否需要检索、检索结果是否有用:展开代码语言:TXTAI代码解释┌─────────────── ──否──→直接回答│││是││▼││检索文档│││││▼││检索结果相关吗?──否──→重新检索/换个方式│││是││▼││生成回答│││││▼││回答有事实支撑吗? ──否──→重新生成│││是││▼││输出回答│└────────────────────────────────────────────────────┘四、GraphRAG(知识图谱增强RAG)4.1
它结合了检索系统和生成模型的优势,通过从大型数据库中检索相关信息并使用生成模型对其进行处理,生成更准确和上下文相关的答案或内容。 融合:将输入查询的表示与检索到的文档表示结合起来,作为生成模型的输入。生成:使用生成模型(如 T5 或 BART)生成回答或相关内容。 文档摘要:从多个文档中检索相关段落,生成一个综合性的摘要。信息检索增强:在需要综合多个信息源的任务中,RAG 可以提供更全面的回答或内容。 print(response)总结RAG(检索增强生成)通过将检索和生成相结合,能够在需要丰富背景信息的任务中表现出色。 它不仅在开放域问答和对话系统中具有很大的应用潜力,还可以用于文档摘要和信息检索增强等任务。通过适当的数据准备、检索模型训练、生成模型训练和模型融合,可以构建出一个强大的 RAG 系统。
在本文中,我们将探讨如何通过合并高级分析功能来增强 SQL 代理的功能。想象一下,代理不仅能够提供基本的统计数字,例如客户支付的平均金额,而且还能够提供更高级和更有趣的见解。 检索增强生成 (RAG) 为了便于您的代理了解如何使用这些功能,我建议采用一种称为检索增强生成 (RAG) 的技术。 此方法有助于根据查询查找相关说明。 您提供的示例越多,代理生成的 SQL 语法就越准确。 让我们构建 RAG 要创建 RAG 系统,首先要准备文档。将这些文档转换为向量并将它们保存在向量数据库中,我们将其称为向量数据库。 此外,我们还讨论了创建一个 RAG 来检索相关的语法指令信息。现在,让我们探讨如何无缝集成这两个组件。 RAG 作为工具 在这篇博客中,我详细介绍了 如何利用SQL 代理与数据库交互等工具。
Advanced‑RAG 是基于 Naive RAG 演化而来的高级检索增强生成方案,针对朴素RAG检索不准、上下文相关性差、召回噪声多等缺陷进行多层优化。 该模式摒弃单一检索逻辑,整合多维度增强策略,核心包含查询改写、多路检索、上下文压缩、重排序精筛、结果自我校验等能力,完整闭环执行链路如下: 完整流程为:用户提出原始问题 → Multi-Query多查询生成 /MMR多样性检索 → 向量库多路召回 → 结果合并去重 → LLM上下文压缩粗过滤 → Reranker精准重排精筛 → 高价值上下文输入LLM → 生成精准答案 在所有增强模块中,Multi-Query [文档4|来源:rag_compare.md] Advanced‑RAG在Naive‑RAG朴素RAG基础上做能力增强,典型优化手段包含MultiQuery多查询生成、MMR多样性检索、LLM上下文压缩过滤 本次测试使用的轻量本地小模型存在查询改写幻觉问题,生成的3条扩展Query与Advanced-RAG核心增强逻辑无关,属于无效改写。但多路召回机制依然生效,叠加原始问题完成4轮检索。
检索增强生成(Retrieval-Augmented Generation,RAG)通过将外部知识检索与生成相结合,有效解决了这些问题。 RAG技术概述 什么是RAG RAG是一种结合信息检索和文本生成的AI架构,工作流程如下: 用户查询 → 检索相关文档 → 生成增强回答 → 返回结果 ↓ │ │ │ │ 查询 + 检索文档 → 增强提示 → 生成回答 │ │ │ └──────────────── # RAG检索增强生成实践代码 import torch import numpy as np from typing import List, Dict, Optional, Tuple import summary # ==================== 主程序 ==================== def main(): print("="*70) print("RAG检索增强生成系统演示
检索增强思维 (RAT) 是一种创新性的方法,它结合了两种关键技术:检索增强生成 (RAG) 和思维链 (CoT) 提示。大型语言模型 (LLM) 因其模仿人类写作和流畅回答问题的能力而变得流行。 RAT:知识与思维链的结合 检索增强思维 (RAT) 是一种简单但有效的提示方法,它将思路链 (CoT) 提示与检索增强生成 (RAG) 相结合,以处理长窗口推理和生成问题。 使用信息检索迭代修改思维链可显著增强大型语言模型在处理长视域生成任务时的推理和生成能力。这种方法还大大减少了幻觉的发生。 知识库:这象征着 LLM 可以通过检索增强生成 (RAG) 访问的外部知识库。 增强修订:这指的是 LLM 如何根据检索到的信息和先前的解释来完善其思维链 (Ti)。 检索增强思考 RAT(RAG+COT):提升 AI 推理能力的强大组合 原创 【LLM-RAG】RAT:检索增强思维提示实现上下文感知推理 将RAG与CoT结合起来的技术,RAT减轻长文本生成出现的幻觉问题
定义 RAG,全称Retrieval-Augmented Generation,中文翻译为“检索增强生成”。 它是一种结合了信息检索和生成模型的技术,旨在通过引入外部知识库的信息,提升生成模型在问答、文本摘要等任务上的表现。 生成阶段:将检索到的信息作为输入,馈入到一个生成模型中(如Transformer)。这个生成模型会基于输入信息,生成最终的响应或文本。 检索模型训练/选择:训练一个高效的检索模型,如使用向量空间模型、TF-IDF或基于BERT的语义检索模型。 联合训练(可选):在某些情况下,为了更好地融合检索和生成两个阶段,可以进行联合训练。 检索和生成两个阶段可能存在信息损失。 对计算资源有一定要求。 应用场景 RAG在多个领域都有广泛的应用,包括: 问答系统:通过检索相关知识库,为用户提供准确、详细的答案。
相关工作的文章和代码汇总在:Awesome RAG Evaluation 摘要 RAG(Retrieval-Augmented Generation,检索增强生成)由于其复杂的结构性和对检索知识库的依赖 其中RAG主要由检索和生成两阶段组成。检索涉及两个部分,建立文档索引和执行文档检索,通常还会结合精拍/重排来进一步微调检索到的文档排序。 最后大语言模型结合用户问题、检索到的文档和改进的提示词生成最终的响应。但如何确保生成内容的真实性、全面性、准确性和生成模型的抗干扰性仍是需要考虑的难点。 特别是涉及一些创造性任务和逻辑推理任务,常用生成指标,BLEU、ROUGE和F1分数任然无法完全替代真人进行全面评估,不仅如此,还需要考虑检索和生成组件的相互关联,例如生成阶段检索信息的利用率,响应延迟 这些度量指标可以帮助评估生成的内容是否与查询相关、是否忠实于检索到的文档以及是否准确回答了问题。
越来越多地,向量搜索已成为生成式 AI 在问答应用中的关键企业用例,即所谓的“检索增强生成(retrieval augmented generation)”或RAG。 如果数据不够准确,检索过程就可能返回无关的结果。 选择好数据之后,要考虑使用的嵌入模型,因为它对检索质量有很大影响。 检索 检索到的上下文数量(前 k 个) 分块大小 当进行检索时,前 k 个是经常讨论的一个参数,它控制检索到的上下文分块数量。 上下文相关度 任何 RAG 应用第一步是检索;为验证检索质量,我们要确保每个上下文块与输入查询相关。这非常关键,因为语言模型将使用该上下文生成答案,所以上下文中的任何不相关信息都可能被编织成幻想。 相似度前 k 个 增加 top k 略微提高最大检索质量(通过上下文相关度测量)。检索更多块,检索器有更多机会获取高质量上下文。
2.预备知识通用RAG架构(两个核心模块):检索器接收查询并从数据存储中搜索相关信息,原始查询与检索结果通过某种增强方式送入生成器,生成器最终产出内容。 3.RAG基础范式(全文核心分类)按检索信息如何作用于生成器分为4大类:(1)Query-basedRAG(查询增强)原理:检索内容与原始查询拼接后直接作为生成器输入(提示词增强)代表工作:REALM( 长尾场景效果显著);代码领域RECODE、kNN-TRANX,图像描述MA特点:适合序列生成,生成器与检索在概率层面解耦(4)SpeculativeRAG(推测式增强)原理:用检索直接替代部分生成步骤, 特点:主要适用于序列类数据4.RAG增强方法论文把工程优化分成五大方向:输入增强、检索器增强、生成器增强、结果增强、全流水线增强(1)输入增强查询变换:HyDE、Query2doc生成伪文档、复杂查询拆解子查询数据增强 (温度、词表约束)生成器微调(RETRO、LoRA适配如Animate-A-Story)(4)结果增强输出改写/重排(SARGAM、Ring、CBR-KBQA)(5)管线增强自适应检索:判断要不要检索,
那么大模型 LLM 如何解决这些问题,使其生成的内容质量更高,就成了一个难题。 而 RAG(Retrieval-Augmented Generation),通过将检索模型和生成模型(LLM)结合在一起,即可提高了生成内容的相关性和质量。 RAG 的优点外部知识的利用。 文档生成和自动摘要 (Document Generation and Automatic Summarization):RAG 可用于自动生成文章段落、文档或自动摘要,基于检索的知识来填充文本,使得生成的内容更具信息价值 RAG 检索增强的原理从上图可能很多同学非常好奇,大模型是如何与“外挂”数据库进行交互的。不是说大模型不能联网吗?其实大模型和数据库的交互,也是通过提示词完成的。 相关资料RAG 官方文档说明总结理解什么是 RAG 检索增强。理解 RAG 检索增强应用场景。了解 RAG 检索增强有哪些相关的使用方法。
二、“检索增强生成”为何会崛起?“检索增强生成”最早由Facebook AI Research团队在2020年发表的《用于知识密集型自然语言处理任务的检索增强生成》一文中提出。 检索增强生成的整个过程可分为“数据检索收集”和“内容整合展示”两个阶段。 三、“检索增强生成”的现实版权纠纷早在2024年10月21日,美国便出现了首例针对“检索增强生成”的版权侵权诉讼——“道琼斯公司和纽约邮报控股公司诉Perplexity AI”案。 六、“检索增强生成”涉及作品利用问题在“内容整合展示”阶段,需要评估检索增强生成对作品的利用,是否落入版权法规制的“直接侵权”和“间接侵权”的范畴。 如果检索增强生成的回答超出了合理限度,依旧可能构成侵权。
RAG 技术合集:检索增强生成的实践指南—— 从 BM25 到 Learned Retriever,用 400 行代码跑通「开源模型 + 私有数据」端到端场景00 为什么又是 RAG? 07 范式 5:迭代式检索 FLARE——当模型自己决定“再查一次”传统 RAG 一次取回 5 段即生成,若答案需跨段落推理,仍可能遗漏。 FLARE(Forward-Looking Active REtrieval)让 LLM 在生成过程中触发二次、三次检索,直到 log-prob 全部高于阈值。 08 高级调优:Learned Retriever + RL用 RL (REINFORCE) 把检索器当成 Policy,奖励为生成答案的 F1。 已见早期 Demo:用户上传一张仪表盘截图,系统检索对应 K8s Pod 日志 + Prometheus 指标 + Grafana 图表,生成排障报告。届时,检索不再是管道,而是思维。
检索增强生成机理探寻:为什么要RAG?本文是关于RAG的第三篇文章,前两篇可从作者主页进去。 RAG系列文章的核心观点来自于“灯塔书”《知识增强大模型》第4章《检索增强生成》的内容,这些内容是对书中内容进行补充和概览。 应对幻觉:信息流控制和事实生成平衡的策略RAG内部存在控制信息流的机制,以最大限度地减少幻觉的产生。RAG平衡了检索到的事实与语言模型的生成能力,以保持连贯性,同时确保事实准确性。 提示工程在引导LLM优先考虑检索到的信息并避免生成推测性内容方面发挥着作用。事实核查机制和置信度阈值与RAG结合使用,以进一步减少幻觉。 RAG通过使用户能够将用于生成响应的信息追溯到其原始来源来增强信任。这种透明度不仅允许验证准确性,而且还帮助用户了解信息的上下文和可靠性,从而增强了对AI系统的信心。
什么是检索增强生成呢? 在灯塔书《知识增强大模型》一书的第四章《检索增强生成》中这样介绍“检索增强生成(Retrieval Augmented Generation,RAG)通过检索外部知识(如文档、知识图谱、数据库等)提升大模型知识的准确性 关于检索增强生成有关的技术,涉及到向量数据库、向量检索和文本检索以及RAG本身的实战,可以阅读灯塔书《知识增强大模型》。 这是通过复杂的检索算法实现的,这些算法能够从庞大且分散的数据集中识别出最相关的文档或数据片段 ,这些算法通常有向量检索(参考灯塔书《知识增强大模型》第3章《向量数据库》、第4章《检索增强生成》以及第8章 《图模互补应用范式》、第9章《知识图谱增强生成与GraphRAG》等)。
检索增强生成(Retrieval-Augmented Generation, RAG)技术为人工智能领域带来了革命性的变化。 什么是 RAG 以及其工作原理 检索增强生成(RAG)是一种人工智能技术,它宣称通过在响应生成过程中整合外部最新信息, 可以显著增强生成式模型的能力。 RAG 的开发过程 开发一个用于生成式人工智能的检索增强生成(RAG)系统是一个多步骤的过程,关键在于确保系统不仅能检索到相关信息,还能有效地整合这些信息,以提升响应的质量。 确保准确性 尽管检索增强生成(RAG)显著提高了提供正确答案的可能性,但更重要的是要认识到它并不能保证 100% 的准确性。 数据库访问 在实施检索增强生成(RAG)时,访问庞大的数据库以检索正确的信息是一个重大挑战。当我们有了明确定义的查询并理解了所需的信息,下一步就不仅仅是搜索,而是有效搜索。
Lewis 等人在其开创性论文中提出了一个新概念面向知识密集型 NLP 任务的检索增强生成之后,RAG 迅速成为基石,提高了大型语言模型 (LLM) 输出的可靠性和可信度。 检索增强生成增强了 LLM 响应的可靠性和可信度 如今,RAG 涵盖了广泛的技术、模型和方法。对于新手来说,这可能会有点难以理解。 增强:将检索到的信息添加到用户查询的过程。 生成:在提供增强提示时,LLM 生成结果的过程。 RAGAS:检索增强生成评估 (RAGA) 是由 Exploding Gradients 开发的一个框架,用于评估 RAG 系统的检索和生成组件,而无需依赖大量人工注释。 管道设计 4.A — 幼稚的 RAG 朴素 RAG:一种具有顺序索引、检索、增强和生成过程的基本线性方法。
RAG 简介RAG 是“检索增强生成”(Retrieval-Augmented Generation)的简称,简单来说,就是一种让 AI 更聪明的方法。它把“找资料”和“写答案”两件事结合起来。 端到端训练RAG 的检索器和生成器并不是独立工作的。它们通过联合优化,确保检索到的文档对生成任务最有用。具体来说:undefined - 检索器会根据生成器的反馈,学习挑选更高质量的文档。 这种密集向量检索比传统稀疏检索(如 TF-IDF)更能捕捉语义相关性。生成器:BART 的选择RAG 通常选用 BART 作为生成模型,因为它在文本生成任务中表现出色。 可解释性:回答可以追溯到具体的检索文档,增强用户信任。 灵活性:只需更新知识库,就能适应新领域或新信息,无需重训模型。 准确性:相比纯生成模型,RAG 在事实性问题上的表现更优。 总结RAG(检索增强生成)通过将检索与生成结合,突破了传统语言模型的局限。它不仅能生成流畅的文本,还能动态调用外部知识,提供准确且可信的回答。