RAG 检索增强生成

一、RAG 概述

RAG(Retrieval-Augmented Generation,检索增强生成) 是一种结合了 信息检索大语言模型(LLM)生成能力 的 AI 框架。

  • Facebook AI Research(FAIR)2020 年 首次提出
  • 已成为大模型落地应用中的热门方案
  • 主要用于 知识密集型任务:问答、摘要、内容生成等

核心理念:

从外部知识库中检索相关信息 → 作为 Prompt 输入给 LLM → 生成更准确、更时效、更贴合需求的文本


二、如何理解 RAG

RAG 可拆解为三个关键环节:

环节 说明
检索(Retrieval) 从预先构建的知识库中检索与问题相关的信息
增强(Augmentation) 将检索到的信息作为上下文,增强 LLM 的理解能力
生成(Generation) LLM 基于增强后的 Prompt 生成最终回答

关键主语关系:

知识库中的信息 增强 了 LLM 的 Prompt
LLM 生成 了最终答案


三、为什么需要 RAG

LLM 的两大痛点

问题 说明
知识截止 模型知识受限于训练数据的时间范围
幻觉(Hallucination) 模型可能自信地生成错误信息

RAG 的价值:
摆脱静态知识限制,引入外部实时知识,显著提升回答的准确性与可靠性。


四、RAG 工作流程

graph LR A[知识准备] --> B[嵌入与索引] B --> C[用户查询] C --> D[向量检索] D --> E[提示增强] E --> F[LLM 生成回答]

详细步骤

  1. 知识准备

    • 收集文档 / 网页 / 数据库数据
    • 清洗、去噪、预处理
    • 文本分块(Chunking)
  2. 嵌入与索引

    • 使用嵌入模型(如 GLM Embedding)
    • 文本 → 向量
    • 存入向量数据库(FAISS / Milvus 等)
  3. 查询检索

    • 用户问题向量化
    • 向量相似度检索(余弦相似度等)
    • 返回 Top-K 相关片段
  4. 提示增强

    • 检索结果 + 原始问题 → 构造 Prompt
  5. 生成回答

    • LLM 基于增强 Prompt 生成回答

五、RAG 技术架构

RAG 主要由两大模块组成:

1️⃣ 检索模块(Retriever)

  • 文本嵌入:查询 & 文档向量化
  • 向量搜索:高效相似度匹配
  • 双塔模型(Dual-Encoder)
    • Query Encoder
    • Document Encoder
    • 映射至同一向量空间

常用工具:

  • 嵌入模型:GLM、BGE、OpenAI Embedding
  • 向量数据库:FAISS、Milvus、Weaviate、Qdrant

2️⃣ 生成模块(Generator)

  • 使用大规模预训练 LLM(如 GLM、GPT 系列)
  • 融合检索上下文
  • 生成连贯、准确、信息丰富的回答

六、如何搭建一个 RAG 知识问答系统

✅ 数据准备与知识库构建

  • 收集领域数据(医疗 / 法律 / 产品)
  • 数据清洗与去重
  • 文本分块(Chunk)
  • 向量化并写入向量数据库

✅ 检索模块设计

  • 问题向量化
  • 相似度检索
  • 结果排序(Top-K)

✅ 生成模块设计

  • 上下文融合
  • Prompt 工程
  • LLM 生成回答

📌 实践建议:

先搭 Demo → 验证效果 → 持续迭代知识库与检索策略


七、典型应用场景

  • 🏥 医疗问答系统
  • ⚖️ 法律咨询助手
  • 📦 产品智能客服
  • 📚 企业知识库搜索
  • 🧠 私有化 AI 助理

八、总结一句话

RAG = 检索外部知识 + 增强 Prompt + LLM 生成答案
是解决 LLM 幻觉与知识过时问题的关键技术方案。

posted @ 2026-06-01 18:11  Hey,Coder!  阅读(56)  评论(0)    收藏  举报