LLM Engineering·LLM 工程化·

RAG 检索增强生成

#LLM#RAG#向量检索

课程来源:AI 工程化实战笔记 影片链接:待补充 投影片:待补充

#一、什么是 RAG

RAG(Retrieval-Augmented Generation)是一种将信息检索与大语言模型生成相结合的框架,用于解决 LLM 知识过时、幻觉、无法访问私有知识等问题。

#1. 核心架构

用户查询 → [检索器] → 相关文档 → [LLM] → 回答
              ↑
          向量数据库

#2. 为什么选择 RAG

相比微调(Fine-tuning),RAG 具有以下优势:

  • 知识可实时更新:只需更新知识库,无需重新训练
  • 成本更低:避免大规模微调的算力开销
  • 可解释性更强:可以返回文档引用作为回答依据
  • 适用于私有知识:模型无需暴露在敏感数据上

#二、RAG 的关键组件

#1. 文档处理与切片

将原始文档(PDF、Markdown、数据库记录等)转化为适合检索的文本块(Chunk):

  • 固定长度切片:简单但可能切断语义
  • 语义切片:按段落或句子边界切分
  • 结构化切片:针对特定文档结构定制

#2. Embedding 模型

将文本块映射为高维向量,常用模型:

模型维度特点
text-embedding-3-small1536低成本、通用
bge-large-zh1024中文优化
e5-large-v21024多语种、强检索

#3. 向量数据库

  • Milvus:高并发、大规模
  • Pinecone:全托管云服务
  • FAISS:本地轻量级
  • Chroma:开源、开发友好

#4. 检索策略

  • Top-K 检索:取最相似的 K 个文档
  • MMR(Maximum Marginal Relevance):兼顾相关性与多样性
  • Hybrid Search:稠密向量 + 稀疏关键词(BM25)融合

#三、RAG 的进阶优化方向

#1. Query 改写

使用 LLM 对用户原始查询进行扩展或重写,提升召回率。

#2. 子问题分解

将复杂问题拆分为多个子问题,分别检索后再综合回答。

#3. 带 Metadata 的过滤

通过时间、来源、主题等元信息对检索结果进行预过滤。

#四、小结

RAG 是当前企业级 AI 应用最主流的架构之一。后续章节将深入介绍 Agent 模式、Prompt Engineering 和向量数据库选型。