RAG教程-基础篇-第二节 RAG的技术原理


点赞 * 关注 * 不迷路 如果结果不如你所愿,就在尘埃落定前奋力一搏。------《夏目友人帐》

有些事不是看到了希望才去坚持,而是因为坚持才会看到希望。------《十宗罪》

维持现状意味着空耗你的努力和生命。------纪伯伦
RAG 技术手册 * 第一章 认识RAG
第二节 RAG的技术原理

一. RAG的原理介绍

​ RAG 通过让大模型在回答问题前,先从指定的外部知识库中查找资料,从而确保答案的准确性和时效性。 来看下面的图:

​ 简单的理解就是在LLM模型回答问题前,先给他清晰的"答案",让他按照参考答案会大客户的问题。

二. RAG的工作流程

​ 一个标准的 RAG 系统工作流程可分为两大阶段:离线数据预处理在线问答推理,详细的步骤可以归结为以下内容:

  1. 知识准备:收集并转换知识文档为文本数据,进行预处理和索引。(这个阶段是重点)
  2. 嵌入与索引:使用嵌入模型将文本转换为向量,并存储在向量数据库中。(本阶段涉及技术问题,使用向量在海量数据中检索,不是重点)
  3. 查询检索:用户查询转换为向量,从数据库中检索相关知识。(这各阶段是重点,用户的口语化严重,如何处理?)
  4. 提示增强:结合检索结果构建增强提示模版。(这个阶段技术重点,目前考虑更多的是成本问题)
  5. 生成回答:大语言模型根据增强模版生成准确回答。(输出格式问题,非重点)

​ 来看下面的这张图:

​ 下面我们重点介绍一些阶段的主要工作内容:

2.1 知识准备阶段 (构建知识库)

​ 该阶段的目标是将海量的、非结构化的外部数据(如 PDF、Word、网页等)转化为模型可以快速检索的格式。

  1. 文档加载与清洗 (Loading & Cleaning): 从各种数据源加载文档,并进行清洗,去除乱码、页眉页脚、特殊符号等无效内容。
  2. 文本分块 (Chunking): 将长文档切分成固定长度、语义相对完整的短文本片段(Chunks)。这是必要的,因为 Embedding 模型有输入长度限制,且细粒度的片段能提升检索精度。
  3. 向量化 (Embedding): 使用 Embedding 模型将每个文本块转换为一个高维的稠密向量。这个过程将文本的语义信息编码成机器可以计算的数字形式,语义相似的文本,其向量在空间中的距离也更近。
  4. 向量入库 (Indexing): 将生成的向量和对应的原始文本块存入向量数据库中,并建立索引,以便后续进行高效的相似度搜索。

2.2 检索与生成阶段

当用户发出问题时,系统会实时地检索相关信息并生成答案。

  1. 用户提问 (User Query): 用户输入自然语言问题。
  2. 问题向量化 (Query Embedding): 使用与预处理阶段相同的 Embedding 模型,将用户的问题也转换为向量。
  3. 向量检索 (Vector Retrieval): 在向量数据库中,计算问题向量与所有文档块向量的相似度(通常使用余弦相似度),并召回最相关的 Top-K 个文本块。
  4. 重排序 (Reranking): (可选但推荐)对召回的文本块进行更精细的语义匹配打分,过滤掉弱相关内容,确保提供给大模型的上下文质量最高。
  5. 提示词拼接 (Prompt Augmentation): 将检索到的相关文本块、系统指令和用户原始问题,按照特定模板组合成一个新的、信息丰富的提示词(Prompt)。
  6. LLM 生成 (LLM Generation): 大模型接收到增强后的提示词,基于提供的上下文信息,生成最终准确、连贯的答案。

三. RAG的技术架构

​ RAG(检索增强生成)的技术架构是一个精密的系统工程,旨在解决大模型"幻觉"、知识滞后和私有数据缺失的问题。我们一般将 RAG 的架构概括为:两大阶段与三大组件

3.1 阶段一 :索引构建

​ 这是 RAG 的地基,通常在用户提问之前就已经完成。目标是:将海量的、非结构化的外部数据(如 PDF、Word、网页)转化为机器可以快速检索的格式。

3.2 阶段二:检索与生成

​ 这是用户感知的实时交互过程。目标是:根据用户的问题,动态地从知识库中调取信息并生成答案。

3.3 三大组件

  1. 索引
  2. 检索器
  3. 生成器

3.4 架构图

3.5 RAG 系统的常见分层

一个成熟的RAG 系统通常包含以下核心组件:

核心层级 组件模块 关键技术/工具 作用
数据层 非结构化数据源 PDF, Word, HTML, SQL 知识的原始载体
向量数据库 Milvus, Pinecone, Weaviate, Qdrant 存储高维向量,支持毫秒级检索
处理层 数据清洗与分块 LangChain, Unstructured 去除噪声,将长文切分为语义块 (Chunks)
嵌入模型 BGE, OpenAI Embedding, Text2Vec 将文本转化为机器理解的向量
服务层 检索引擎 Hybrid Search (BM25 + Vector) 结合关键词与语义检索,提高召回率
重排序模型 Cross-Encoder, Cohere Rerank 对初步检索结果进行精细化打分
应用层 大语言模型 GPT-4, Llama 3, Qwen 理解上下文并生成最终答案

3.6 度量因素

  • 混合检索架构 (Hybrid Search) :单纯依赖向量检索可能会丢失专有名词的精确匹配,单纯依赖关键词又无法理解语义。现代架构通常采用加权融合的方式,结合两者优势。

  • 安全与权限 (Security) :架构中必须包含访问控制层 。例如,员工 A 只能检索到他有权访问的 HR 文档,这通常通过在向量数据库中存储元数据(如 department: "HR")并在检索时进行过滤来实现。

  • 实时性 (Real-time) :架构中会引入 CDC (Change Data Capture) 技术,一旦源数据更新,立刻触发向量化和入库,实现知识库的秒级同步。

  • **数据安全:**数据的加密,脱密,日志记录;

  • **评估指标:**RAG的秩序迭代和优化参数的获取。

RAG 的技术架构本质上是一个**"搜索引擎 + 大模型"**的组合体,通过精细化的工程手段(分块、重排序、混合检索)来弥补大模型在记忆和推理上的短板。

相关推荐
chaors11 小时前
DeepResearchSystem 0x08:KB 知识记忆
langchain·agent·ai编程
程序员黑豆13 小时前
Java 注释详解:单行、多行与文档注释的完整指南
java·前端·ai编程
金伟API102414 小时前
如何从零打造一个极简的DeepSeek-R1大模型
人工智能·ai
江畔柳前堤14 小时前
大语言模型分布式训练:从并行策略到万卡工程的系统梳理
人工智能·分布式·深度学习·算法·目标检测·机器学习·语言模型
Shockang14 小时前
智能体环路工程实战
人工智能
美摄科技15 小时前
美摄美颜特效SDK Skill:以AI赋能智能视音频新视界
人工智能
飞哥数智坊15 小时前
实测7套 Code Agent组合:最终效果,真不只取决于模型
ai编程
Web3_Daisy15 小时前
Pump.fun 与 FOMO 竞争背后的 Meme 市场变局
大数据·人工智能·金融·web3·区块链
AI创界者15 小时前
MiniMax-H3 本地一键部署整合包:8G 显存玩转文图生视频、视频参考、角色替换与超分补帧全流程
人工智能·深度学习
江畔柳前堤15 小时前
HBM:大语言模型时代的「算力血液」——从内存墙到带宽革命的深度拆解
服务器·人工智能·windows·目标检测·语言模型·自然语言处理·软件工程