检索增强生成(Retrieval-Augmented Generation,简称 RAG)是大模型(LLM)领域中一种结合外部知识检索与语言生成的关键技术,旨在解决大语言模型的三大核心缺陷:

  • 知识滞后性(训练数据截止后无法更新)
  • 事实幻觉(编造看似合理但错误的信息)
  • 领域知识缺失(缺乏企业私有或专业领域数据)

一、RAG 的核心思想

“让大模型学会查资料” —— 在生成答案前,先从外部知识库中检索相关证据,再基于真实信息生成回答。

其工作流程可概括为三步:

用户提问 → 检索相关文档 → 生成基于证据的答案

这模仿了人类解决问题的方式:遇到不懂的问题,先查资料,再作答。


二、RAG 的标准架构(三阶段)

1. 提取(Extraction / Indexing)

  • 将企业私有数据(PDF、网页、数据库、代码库等)切分为文本块(Chunks)
  • 使用嵌入模型(Embedding Model)(如 BAAI/bge、text-embedding-ada-002)将每个文本块转换为向量(Embedding)
  • 存入向量数据库(如 FAISS、Chroma、Pinecone、Milvus)建立索引。

✅ 目标:构建一个可高效语义搜索的知识库。


2. 检索(Retrieval)

  • 用户提问时,用同一嵌入模型将问题转为向量;
  • 在向量数据库中执行近似最近邻搜索(ANN),找出 Top-K 最相关的文本块;
  • 可选优化:
    • 查询重写(Query Rewriting):将模糊问题改写为更精准的检索式;
    • 混合检索:结合关键词(BM25) + 向量检索;
    • 重排序(Re-ranking):用交叉编码器(如 BGE-reranker)对初检结果精排。

✅ 目标:召回高相关、高质量的上下文证据。


3. 生成(Generation)

  • 原始问题 + 检索到的上下文拼接成 Prompt,输入大语言模型(如 Llama3、GPT-4、Qwen);
  • LLM 基于提供的证据生成准确、可靠、可溯源的回答;
  • 典型 Prompt 模板:
    请根据以下上下文回答用户问题。如果上下文不相关,请回答“我不知道”。
    
    上下文:
    {retrieved_text}
    
    问题:
    {user_query}
    
    回答:
    

✅ 目标:生成事实一致、减少幻觉的答案。


三、RAG vs 纯大模型(Without RAG)

能力 纯 LLM RAG
回答 2024 年公司财报 ❌(训练数据截止于 2023) ✅(从最新财报 PDF 检索)
解释内部产品文档 ❌(未见过私有数据) ✅(从 Confluence 检索)
引用具体条款 ❌(可能编造法条编号) ✅(直接引用检索到的原文)
知识更新成本 需重新训练(昂贵) 只需更新向量库(低成本)

四、RAG 的典型应用场景

  1. 企业知识问答系统
    • 员工问:“报销流程是什么?” → 自动从 HR 手册检索并回答。
  2. 智能客服
    • 结合产品文档、FAQ 库,提供准确技术支持。
  3. 法律/医疗辅助
    • 检索法规条文或病历记录,生成合规建议。
  4. 代码助手
    • 从内部代码库检索相似实现,辅助编程。
  5. 多模态 RAG
    • 检索图像、表格、视频片段,生成跨模态回答(如 GPT-4V + RAG)。

五、RAG 的进阶演进(Advanced RAG)

技术 说明
HyDE(Hypothetical Document Embeddings) 先让 LLM 生成一个假设答案,再用该答案去检索,提升召回率
子查询(Sub-query) 将复杂问题拆解为多个子问题分别检索
递归检索(Recursive Retrieval) 先检索文档元信息(如标题),再深入检索具体内容
Graph RAG 构建知识图谱,利用实体关系增强检索(微软提出)
Self-RAG 模型自主判断是否需要检索、是否使用检索结果(带反思机制)

六、常用开源工具链

组件 工具
框架 LangChain、LlamaIndex、Haystack
嵌入模型 BGE(智源)、gte-Qwen、text-embedding-3-small(OpenAI)
向量数据库 Chroma(轻量)、Pinecone(云服务)、Milvus(高性能)
重排序模型 BGE-reranker、Cohere Rerank
评估工具 Ragas(评估忠实度、相关性、答案质量)

七、RAG 的局限与挑战

  • 检索质量依赖:若检索不到关键信息,LLM 仍会幻觉;
  • 上下文长度限制:长文档需智能分块,避免信息割裂;
  • 延迟问题:检索 + 生成比纯 LLM 更慢;
  • 多跳推理难:复杂问题需多次检索-推理循环(Agent 可缓解)。

总结:RAG 的价值

RAG 不是替代大模型,而是为其“外挂大脑”
它以低成本、高可控性的方式,将大模型的“通用智慧”与“专属知识”结合,是当前最实用、最落地的大模型应用范式之一

正如业界共识:

“不要微调模型来记住知识,而要用 RAG 让模型学会查找知识。”

对于企业而言,RAG 是构建安全、可信、可维护的 AI 应用的首选路径。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐