Skip to content

Retrieval Augmented Generation

Definition

RAG(Retrieval-Augmented Generation,检索增强生成)是一种把外部知识检索与模型生成结合起来的方法。它让模型在回答问题前先访问指定文档集合或知识库,从而将训练参数之外的知识引入当前回答。RAG 解决了纯 LLM 的三大痛点:知识截止、幻觉(无法引用来源)、无法访问私有/实时数据。

Core Architecture

用户查询

查询编码器(Embedding Model)

向量检索(向量数据库 / BM25)

返回 Top-K 相关文档块

上下文构造(Query + Retrieved Documents + Instruction)

LLM 生成(基于提供的上下文)

有引用来源的回答

Key Papers

论文年份机构核心贡献
RAG: Knowledge-Intensive NLP Tasks (Lewis et al.)2020Facebook AI首次系统提出 RAG 框架,将 parametric + non-parametric 记忆结合
REALM: Retrieval-Augmented Language Model Pre-Training (Guu et al.)2020Google将检索融合到预训练阶段,端到端训练
REPLUG: Retrieval-Augmented Black-Box Language Models (Shi et al.)2023Google证明即使不微调模型,仅通过检索增强就能提升性能
Self-RAG (Asai et al.)2023UW/Allen AI模型自主决定是否需要检索;引入了 reflection tokens
Corrective RAG (CRAG) (Yan et al.)2024引入检索质量评估 + 纠正机制
RAPTOR: Recursive Abstractive Processing (Sarthi et al.)2024Stanford分层摘要式检索,支持多层次语义理解

RAG Architecture Variants

Naive RAG

Query → Embed → Retrieve → Concat → Generate → Answer
  • 最简单的流水线,嵌入→检索→拼接→生成
  • 优势:实现简单、易于调试
  • 劣势:检索质量直接影响输出;无质量保障

Advanced RAG (Pre-Retrieval + Post-Retrieval)

阶段技术作用
Pre-RetrievalQuery Rewriting / Query Expansion / HyDE优化查询表达,提高检索召回率
RetrievalDense Retrieval (Embedding) + Sparse Retrieval (BM25)混合检索策略
Post-RetrievalRe-ranking / Filtering / Compression精炼检索结果,消除噪声
GenerationKG-guided / Multi-hop / Self-Consistency增强生成的准确性和可溯源性

Modular RAG

Query → Query Rewriting → Multi-Route Retrieval (Vector + BM25 + Graph)
  → Fusion → Re-ranking → Context Compression
  → Generation + Citation
  • 将 RAG 流水线拆分为可替换的模块
  • 每个模块可以有多种实现(例如使用不同嵌入模型、检索策略)

Self-RAG with Reflection

Query → LLM 决定是否需要检索?
  ├─ 不需要 → 直接生成
  └─ 需要 → 检索 → LLM 评估每个检索块的 BAD/SUPPORT/USEFUL
      → 选择最佳块 → 生成 + 引用 + 质量评估

Agentic RAG

Query → Agent (LLM) 
  → 自动决定:多次检索?工具调用?代码执行?
  → 逐步推理 + 动态修正检索策略
  → 最终回答
  • RAG + AI Agents 的结合:Agent 自主决定查询策略、检索时机、结果验证
  • 适合复杂多跳问答场景

Retrieval Methods Comparison

方法原理优势劣势
Dense Retrieval (Embedding)文本 → 向量 → 语义相似度搜索语义理解强对罕见/专业术语效果差
BM25 (Sparse)基于词频和逆文档频率的词汇匹配精确匹配强,零部署成本语义泛化弱
Hybrid (Dense + Sparse)组合结果,通常 RRF 或加权融合兼顾语义和词汇匹配增加复杂度
Late Interaction (ColBERT)查询-文档 token 级交互相似度细粒度匹配,效果最佳检索速度较慢
Graph-based知识图谱关联检索关系链推理强需要图谱构建

RAG Frameworks & Tools

工具核心功能适用场景
LangChain完整的 RAG 流水线 + Agent 集成快速原型到生产
LlamaIndex数据索引优化 + 多步检索复杂文档索引
Haystack模块化的检索+管道企业 QA 系统
Weaviate原生向量数据库 + RAG生产级检索后端
Pinecone托管向量数据库大规模生产部署
Chroma轻量级嵌入式向量数据库开发/原型
QdrantRust 写的高性能向量数据库高性能检索需求
Milvus分布式向量数据库超大规模生产

RAG vs Long Context

参见 RAG vs Long Context 的详细对比,核心差异:

维度RAGLong Context
知识源外部检索(任意大)上下文窗口内(有限)
成本检索 + 生成,但上下文短推理成本随上下文增长二次方
更新索引更新即可(实时)需要重新训练
来源引用天然可引用在大窗口下注意力弥散

Why It Matters

  • RAG 是企业知识库、客服系统、文档问答、内部搜索增强等场景最常见的落地方式之一
  • 它与 AI Agents 紧密相关,因为 Agent 通常需要检索外部文档、状态或工具结果
  • 它也补足了纯 Transformer Architecture 模型在知识更新和显式来源引用方面的不足
  • RAG 降低了企业采用 LLM 的门槛:无需微调即可将私有知识接入(相对于 Fine-tuning 的另一种路径)
  • 关于 RAG、微调和提示工程三种策略的系统性对比,见 RAG vs Fine-Tuning vs Prompt Engineering

Engineering Pitfalls

陷阱表现缓解
检索噪声无关文档干扰生成强 Re-ranker + 压缩策略
缺失关键文档核心信息不在 Top-K 中调大 K + 混合检索 + 多路召回
引用幻觉模型编造检索结果强制模型引用 + 输出后验证
丢失上下文长文档截断丢失核心信息Hierarchical RAG / RAPTOR
查询意图漂移用户原始意图与检索查询不符Query Rewriting + HyDE
Chunk 粒度块太小丢失上下文 / 块太大含噪声动态分块 + 滑动窗口

Open Questions

  • 检索质量、重排质量和引用质量如何统一评估?
  • 在长上下文模型增强后(DeepSeek V4 1M, Google Gemini & DeepMind 1M),RAG 的最佳形态会如何变化?
  • RAG 与 Agent(AI Agents)的真正边界在哪里——什么时候用纯 RAG,什么时候用 Agentic RAG?
  • 能否实现检索增强的端到端训练,使模型学会"何时检索"和"如何检索"?

Sources

  • raw/papers/retrieval-augmented-generation-2005.11401-2026-04-26.md
  • raw/articles/rag-wikipedia-summary-2026-04-26.md
  • RAG: Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks (Lewis et al., 2020)
  • Self-RAG: Learning to Retrieve, Generate, and Critique (Asai et al., 2023)
  • Corrective Retrieval Augmented Generation (Yan et al., 2024)

AI Knowledge Base — 持续积累