RAG检索增强生成技术深度解析:从原理到生产落地全攻略

m
marvis

一、RAG解决的核心问题

大模型有三大先天缺陷:知识截止日期(训练数据有截止时间)、幻觉问题(会编造不存在的"事实")、领域知识不足(通用模型难以覆盖垂直领域细节)。检索增强生成(RAG)通过"先检索、后生成"的模式,一举解决这三个问题。

二、RAG工作流程详解

标准RAG流程分为五个步骤:

  1. 文档解析与分块(Chunking):将知识库文档拆分为512-1024 token的语义块。关键参数:chunk_size和chunk_overlap。重叠设置10-20%确保关键信息不因切割丢失
  2. 向量化嵌入(Embedding):使用嵌入模型(text-embedding-3-large、BGE-M3、Jina Embeddings v3)将文本块转为稠密向量
  3. 向量存储与索引:存入向量数据库(Milvus/Qdrant/Weaviate/Chroma),构建高效的ANN(近似最近邻)索引
  4. 语义检索:用户Query向量化后与知识库做相似度搜索,召回Top-K最相关文档块
  5. 上下文增强生成:将检索到的文档块拼入Prompt,引导LLM基于检索内容生成回答

三、检索增强技术栈全解析

技术环节方案选择效果提升
分块策略语义分块 > 固定大小分块 > 句子分块召回率+5-10%
嵌入模型BGE-M3多语言 > text-embedding-3-large > ada-002多语言场景+8-15%
混合检索向量检索 + BM25关键词检索召回率+10-15%
重排序(Rerank)Cohere Rerank / BGE-Reranker Cross-Encoder精度+5-8%
查询改写(Rewriting)LLM改写用户Query为多角度检索查询召回率+8-12%

混合检索(Hybrid Search)是性价比最高的提升手段——向量检索擅长语义相似,BM25擅长关键词精确匹配,两者互补。

四、高级RAG范式

  • Self-RAG:模型通过特殊Token自主决定何时需要检索、检索到的内容是否相关、是否需要二次检索
  • Graph RAG:结合知识图谱的结构化关系,在实体间多跳推理,适合复杂问答和法律/医疗等强逻辑领域
  • Agentic RAG:将检索能力封装为Agent工具,支持多步检索、动态策略选择、多源信息融合
  • Corrective RAG(CRAG):检索后进行相关性评估,不相关则自动触发Web搜索作为补充

五、生产落地要点

  • Chunk Size是核心超参:太小丢失上下文,太大引入噪声。推荐从512 tokens起步,根据文档类型调整
  • 评估体系:建立RAGAS(Faithfulness + Answer Relevance + Context Recall)三位一体的自动评估
  • 缓存策略:缓存高频Query的Embedding和LLM响应,降低延迟50%+
  • 更新机制:增量更新向量索引,避免全量重建

相关阅读:Prompt工程完全指南 | AI Agent架构设计 | MoE混合专家架构