返回文章列表
AI

什么是 RAG?RAG有什么作用?

西伊
2026-01-26
1周前
什么是 RAG?RAG有什么作用?

在公司想去将大模型能力落地到实际的产品上时,面临一个严峻问题就是,使用通用大模型只能应对简单的对话,但完全不了解业务和产品,回答内容质量差;但微调一个模型,让其完全熟悉业务,又要花费很大的资源。在这种情况下,通过提示词工程和RAG来搭建成为了一种最“现实”的手段。前面已经聊过提示词工程,那RAG又是什么?

01. 什么是 RAG?

RAG(Retrieval-Augmented Generation),顾名思义,就是通过“检索”来“增强”模型的“生成”能力。

如果说传统的 LLM 是依靠“大脑记忆”(参数记忆)来回答问题,那么 RAG 就是给这个学生配了一个全知全能的搜索引擎和参考书库。

当遇到问题时,RAG 系统不会让 AI 瞎猜,而是先去翻书(检索),找到对应的页面(相关信息),把这些信息与问题融合在一起,最后告诉 AI:“请参考这些资料,回答用户的问题。”


02. 为什么我们需要RAG?

大模型(LLM)本质上是一个基于概率预测下一个 token 的函数。它的知识被“压缩”在数千亿个参数权重中。这种机制导致了三个无法回避的原生缺陷:

知识截止(Knowledge Cutoff):它的记忆停留在训练结束的那一天。

幻觉(Hallucination):当它不知道答案时,概率模型会倾向于“编造”一个看起来通顺的句子。

数据隐私(Data Privacy):你的企业私有数据(报表、合同)不在它的训练集里,也不能放在公有云训练集里。

RAG 的本质,就是将“计算”(LLM的推理能力)与“记忆”(外部知识库)解耦。我们不再强求模型记住所有事,而是赋予它随时调取外部知识的能力。

03. RAG的核心优势是什么?

相比于传统的微调(Fine-tuning)或单纯使用提示词工程,RAG 带来了四个不可替代的优势:

准确性与可信度(Accuracy):RAG 强制模型基于检索到的真实世界数据回答,极大地抑制了“幻觉”。

透明度(Transparency):RAG 系统可以明确列出“信息来源”,让用户知道答案是基于哪份文档生成的,增强了信任感。

时效性与适应性(Adaptability):世界在变,模型训练却是静止的。使用 RAG,你只需要更新数据库里的文档(例如上传最新的新闻),AI 就能立刻掌握新知识,无需重新训练模型。

成本效率(Efficiency):相比于训练或微调大模型所需的昂贵算力,维护一个向量数据库的成本要低得多的多。

04. RAG的核心原理是什么?

要真正理解 RAG,我们需要解构其工作流程的每一个环节。一个成熟的 RAG 系统架构,由两个核心阶段组成:离线的数据准备(建立知识库,如下图的A→B→C→D过程)和在线的推理流程(检索与生成,如下图的1→2→3→4→5过程)。

第一阶段:离线数据准备,构建数字图书馆

在 AI 回答问题之前,我们首先要为它准备好资料。这个阶段的目标是创建一个 AI 可以高效查询的“索引”。

1. 建立文档库:数据摄入(步骤A)

一切始于源数据。无论是结构化的数据库,还是非结构化的 PDF、Word、网页新闻,甚至是医疗记录,首先都要被汇集到一个文档存储库中。

2. 预处理与分块(Chunking):化整为零(步骤B)

大模型处理信息的能力受到“上下文窗口”的限制。我们不能将一篇长文档一次性全部输入。因此,需要进行预处理,将长文档切分成更小的、语义完整的文本块(Chunks)。

3. 向量嵌入(Embedding):语义空间(步骤C)

这是 RAG 的核心技术。我们需要使用基于 Transformer 的模型(如 BERT 或 SBERT),将每一个文本块转换成一个由数字组成的向量(Vector)。

在高维向量空间中,语义相似的文档(比如“感冒症状”和“发烧流涕”)会聚集在一起。

4. 向量存储(Indexing):建立索引(步骤D)

这些向量会被存储在专门的向量数据库(如Elasticsearch, FAISS, Pinecone)中,建立高效索引,以便后续进行毫秒级的相似性搜索。

向量数据库使用特殊的索引算法(如 HNSW - Hierarchical Navigable Small World)来加速查询。它不是一行行比对,而是在高维图结构中快速逼近目标。

第二阶段:在线推理,检索生成

当用户提出问题时,RAG 系统进入实时的在线处理流程。这个流程比简单的“搜一下”要复杂得多。

1. 用户查询编码(Query Encoding)

用户输入问题(例如:“气候变化如何影响珊瑚礁?”)。 系统必须使用与文档库完全相同的预训练语言模型(如 BERT),将这个问题也转换成一个数值向量。这是为了确保问题和答案在同一个“语义坐标系”内。如果知识库是用模型 A 生成的坐标系,而用户的提问是用模型 B 生成的坐标系,两者就像在不同的地图上找同一个地址,完全无法匹配。

2. 检索系统(Retrieval Phase)

系统拿着问题的向量,去外部知识库中进行扫描。现代 RAG 系统往往结合了稀疏检索(基于关键词,如传统搜索引擎)和密集检索(基于向量语义),来找出数据库中与问题向量距离最近的内容。

3. 排名与筛选(Ranking & Filtering)

之前的向量检索速度快,但精度不够,容易召回一些“看起来相关但实际无关”的内容。通过引入一个重排序模型(Rerank Model,如 BGE-Reranker)。

系统会根据相关性得分进行排名(Re-ranking),通常只保留Top-K(例如前 5-10 个)最相关的文档块。这确保了输入给大模型的信息是精华中的精华。这一步虽然增加了少许耗时,但能极大提升最终回答的准确率。

4. 提示词装配(Context Injection)

这是 RAG 的关键环节。系统拿到 Top-K 的文档后,需要将其与用户的原始查询进行融合组装成一个更大的Prompt:

  • Role:你是一个专业的企业助手。Instruction: 请严格根据下方的【参考信息】回答用户的【问题】。如果信息中没有答案,请直接说不知道,不要编造。【参考信息】:1. [重排后的文本块1]2. [重排后的文本块2]...【问题】:


    5. 响应生成(Generation)

    大模型(LLM)接收到这个“融合”了外部知识的 Prompt。它利用自身的语言能力,结合检索到的事实,生成流畅、自然的回答。模型不需要调动自己的内部记忆去“猜”,而是运用其强大的阅读理解能力和逻辑推理能力,基于给定的参考信息,生成最终的答案。

    05. 技术总结:RAG 的本质挑战

    看完这个流程,你可能会发现,RAG 其实是一个复杂的概率优化工程。整个链路中,任何一个环节的掉链子都会导致最终结果的崩塌:

    切片切坏了:上下文丢失,检索不到完整逻辑。

    Embedding 模型不行:语义理解偏差,根本找不到相关文档。

    没有重排序:召回了一堆似是而非的噪音,误导大模型。

    Prompt 写得烂:大模型无视参考信息,开始产生幻觉。

    06. 什么时候你应该使用 RAG?

    作为产品决策者,在以下场景中,RAG 是你的首选方案,甚至是唯一方案:

    极高的时效性要求:比如股票分析助手,必须知道几分钟前的新闻。

    私有数据保护:银行、医疗、法律场景,数据不能用于模型训练。

    可解释性与溯源:用户需要知道“AI 为什么这么说”,RAG 可以精确给出“引用来源:员工手册第 12 页”。

    消除幻觉:在严谨的商业场景下,RAG 能够通过限制上下文,强制模型“有的放矢”。

    结语

    RAG 的出现,实际上是重新定义了 AI 的工作方式:从一个“全知全能但记忆停滞”的天才,变成了一个“擅长查阅资料且逻辑清晰”的研究员。

    对于企业而言,构建 RAG 系统不仅仅是技术升级,更是将沉睡的内部数据转化为即时生产力的关键一步。在未来,“检索力”将决定 AI 的上限。

    本文内容仅供参考,不构成任何专业建议。使用本文提供的信息时,请自行判断并承担相应风险。

    分享文章
    合作伙伴

    本站所有广告均是第三方投放,详情请查询本站用户协议