Appearance
RAG(Retrieval-Augmented Generation,检索增强生成)是给大模型装"外接大脑"的技术:生成前先从外部知识库检索相关内容,拼进提示词再回答。它有效解决幻觉、知识过时与事实错误。
什么是 RAG
RAG = 语义检索 + 大模型生成核心逻辑:大模型生成回答前,先从自定义外部知识库检索相关内容,将检索结果作为上下文拼进提示词,辅助模型生成精准可靠的答案。
为什么需要 RAG:
- 幻觉:模型凭空编造,RAG 用真实资料约束
- 知识过时:训练数据截止较早,RAG 接入最新/私有数据
- 私有数据:让模型"知道"你的文档、知识库(如 Obsidian 库)
RAG 完整流程
文档 → 切块(Chunking) → 向量化(Embedding) → 存入向量库
查询 → 向量检索(相似度) → 重排序(Re-ranking) → 注入 Prompt → 生成- 文档切块:把长文档切成小块,便于检索
- 向量化:用 Embedding 模型把每块转成向量
- 索引存储:向量存入向量数据库(Chroma、FAISS、pgvector 等)
- 检索:查询向量化后找语义最相近的块
- 重排序:优化结果顺序,优先最相关
- 增强生成:把检索结果拼进 Prompt,让模型"基于资料回答"
RAG vs 微调(Fine-tuning)
| 维度 | RAG | 微调 |
|---|---|---|
| 数据更新 | 即时(换资料即可) | 需重新训练 |
| 成本 | 低 | 高 |
| 幻觉控制 | 强(绑定真实资料) | 中 |
| 适合 | 私有知识、实时信息 | 改变模型风格/能力 |
| 组合 | 两者可叠加使用 |
一句话:RAG 让模型"查得到",微调让模型"变得更像某种模型"。 日常让 AI 用你的资料,RAG 是首选。
主流框架
| 框架 | 定位 |
|---|---|
| LlamaIndex | RAG 首选,数据连接器丰富、高级索引、内置重排序 |
| LangChain | 通用 Agent 平台,RAG 只是其一 |
| rag-from-scratch | 从零理解 RAG 原理(本地 LLM 实现) |
一句话总结
RAG = 语义检索 + 大模型生成,用真实资料压制幻觉;记住分工——「RAG 让模型查得到,微调让模型变得更像某种模型」,日常用自己资料首选 RAG。
关联概念
- 基础:AI基础概念-嵌入与向量检索(RAG 的检索地基)
- 上游:AI基础概念-大语言模型与Token
- 框架:[AI-Agent-主流框架对比](/学习笔记/AI技术/AI Agent/AI-Agent-主流框架对比)