课程来源:AI 工程化实战笔记 影片链接:待补充 投影片:待补充
#一、什么是 RAG
RAG(Retrieval-Augmented Generation)是一种将信息检索与大语言模型生成相结合的框架,用于解决 LLM 知识过时、幻觉、无法访问私有知识等问题。
#1. 核心架构
用户查询 → [检索器] → 相关文档 → [LLM] → 回答
↑
向量数据库
#2. 为什么选择 RAG
相比微调(Fine-tuning),RAG 具有以下优势:
- 知识可实时更新:只需更新知识库,无需重新训练
- 成本更低:避免大规模微调的算力开销
- 可解释性更强:可以返回文档引用作为回答依据
- 适用于私有知识:模型无需暴露在敏感数据上
#二、RAG 的关键组件
#1. 文档处理与切片
将原始文档(PDF、Markdown、数据库记录等)转化为适合检索的文本块(Chunk):
- 固定长度切片:简单但可能切断语义
- 语义切片:按段落或句子边界切分
- 结构化切片:针对特定文档结构定制
#2. Embedding 模型
将文本块映射为高维向量,常用模型:
| 模型 | 维度 | 特点 |
|---|---|---|
| text-embedding-3-small | 1536 | 低成本、通用 |
| bge-large-zh | 1024 | 中文优化 |
| e5-large-v2 | 1024 | 多语种、强检索 |
#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 和向量数据库选型。