00RAG介绍

alex
2
2025-12-05

本文章主要介绍RAG这一概念并介绍其来源,作用,简单实现流程,后续复杂的实现框架和架构会由后续文章讲解,本文不做描述,仅做入门讲解。

📜 一、来源:RAG 的诞生背景

RAG 并非凭空出现,它是为了解决大语言模型(LLM)的 “知识困境” 而诞生的。因为对于传统的LLM或企业来说存在能力边界问题、幻觉、LLM信息时效问题、企业信息保密需求等等。主要体现在下面:

问题

说明

RAG 出现前的主要解决方案

静态知识

LLM 的训练数据存在截止日期(如 GPT-4 是 2023年4月),无法获知最新信息。

人工定期用新数据重新训练或微调模型,成本极高、周期长。

事实“幻觉”

LLM 可能基于训练数据的概率分布,生成看似合理但实际错误或虚构的答案。

通过复杂的提示工程或让模型声明不确定性来缓解,但无法根除。

专有/私有数据

LLM 未学习过公司内部的文档、代码库、个人笔记等非公开数据。

将数据加入训练集进行微调,但存在数据泄露风险、成本高且不灵活。

溯源困难

LLM 的回应是一个“黑箱”,无法提供其结论所依据的具体文档或事实来源。

基本无法解决,难以建立信任。

RAG 的核心理念 在2020年左右由 Meta(Facebook)等机构的研究者明确提出:与其巨资重新训练或微调LLM本身,不如将LLM视为一个强大的“通用处理器”,通过外接一个“即时知识库”来动态地、按需地为它提供准确、最新的信息。 这一范式彻底改变了我们利用LLM的方式。

🎯 二、含义:什么是 RAG?

RAG 的全称是 检索增强生成

  • 检索:从海量、动态更新的外部知识库中,主动查找与当前问题最相关的信息片段。

  • 增强:将检索到的信息作为 “上下文”“参考依据”,插入到给LLM的指令(Prompt)中。

  • 生成:LLM 基于提供的上下文,生成更准确、更可信、更具时效性的回答。

核心类比
想象一个学识渊博但记忆停留在去年的教授(LLM)。现在,他身边配备了一位顶级的研究助理(检索系统)。每次学生提问,助理会立刻从最新的图书馆(外部知识库)中找出最相关的几页资料,放在教授面前。教授快速浏览这些资料后,再结合自己广博的学识,给出一个既专业又紧跟时代的回答。RAG 就是这位“研究助理”与“教授”协同工作的系统范式。

✨ 三、作用与优势:为什么需要 RAG?

RAG 的作用直接针对LLM的缺陷,带来了以下核心优势:

作用领域

具体体现

带来的价值

知识时效性

可以接入实时数据(新闻、股价)、最新文档(产品手册、法律条文)。

让静态的LLM具备了获取动态知识的能力。

事实准确性

回答基于提供的可验证文档,大幅减少“幻觉”。LLM可以被要求“严格依据上下文”。

提升答案的可信度,建立用户信任。

数据安全性

私有数据存储在独立的向量数据库中,无需上传给LLM服务商。只在推理时按需检索。

保护数据隐私知识产权,符合企业合规要求。

答案可溯源

系统可以记录并向用户展示答案具体来源于哪个文档的哪个片段。

实现答案透明化,便于核查与审计。

成本与灵活性

更新知识只需更新外部知识库,无需重新训练或微调LLM。

部署和维护成本低,知识迭代速度快。

🧩 四、简单构成:一个最简 RAG 系统是如何工作的?

一个最基础的 RAG 系统通常由两个阶段、四个核心组件构成,形成一条清晰的工作流:

  1. 数据处理(对应索引阶段)

    • 组件:文档加载器、文本分割器、嵌入模型。

    • 输入:原始文档(PDF, Word, 网页等)。

    • 输出:存入向量数据库的“文本片段-向量”对。

  2. 检索(对应问答阶段的第一步)

    • 组件:检索器(通常与嵌入模型共享)。

    • 输入:用户查询。

    • 输出:从向量数据库中找出的Top-K个相关文本片段。

  3. 召回(对应问答阶段的中间处理)

    • 组件:提示词模板。

    • 输入:用户查询 + 检索到的文本片段。

    • 输出:一个精心构建的、给LLM的完整提示(Prompt),其中明确指示LLM基于给定片段回答问题。

  4. 生成(对应问答阶段的最后一步)

    • 组件:大语言模型。

    • 输入:构建好的提示。

    • 输出:最终的、增强后的答案。

一句话总结:RAG 通过 “检索-增强-生成” 的范式,将LLM的强大生成能力与外部知识库的准确性和时效性相结合,生成了更可靠、可追溯的智能答案。它已成为构建企业级、知识密集型AI应用的事实标准架构。

动物装饰