Skip to content

RAG(Retrieval-Augmented Generation,检索增强生成)是给大模型装"外接大脑"的技术:生成前先从外部知识库检索相关内容,拼进提示词再回答。它有效解决幻觉、知识过时与事实错误。

什么是 RAG

RAG = 语义检索 + 大模型生成

核心逻辑:大模型生成回答前,先从自定义外部知识库检索相关内容,将检索结果作为上下文拼进提示词,辅助模型生成精准可靠的答案。

为什么需要 RAG

  • 幻觉:模型凭空编造,RAG 用真实资料约束
  • 知识过时:训练数据截止较早,RAG 接入最新/私有数据
  • 私有数据:让模型"知道"你的文档、知识库(如 Obsidian 库)

RAG 完整流程

文档 → 切块(Chunking) → 向量化(Embedding) → 存入向量库
查询 → 向量检索(相似度) → 重排序(Re-ranking) → 注入 Prompt → 生成
  1. 文档切块:把长文档切成小块,便于检索
  2. 向量化:用 Embedding 模型把每块转成向量
  3. 索引存储:向量存入向量数据库(Chroma、FAISS、pgvector 等)
  4. 检索:查询向量化后找语义最相近的块
  5. 重排序:优化结果顺序,优先最相关
  6. 增强生成:把检索结果拼进 Prompt,让模型"基于资料回答"

RAG vs 微调(Fine-tuning)

维度RAG微调
数据更新即时(换资料即可)需重新训练
成本
幻觉控制强(绑定真实资料)
适合私有知识、实时信息改变模型风格/能力
组合两者可叠加使用

一句话:RAG 让模型"查得到",微调让模型"变得更像某种模型"。 日常让 AI 用你的资料,RAG 是首选。

主流框架

框架定位
LlamaIndexRAG 首选,数据连接器丰富、高级索引、内置重排序
LangChain通用 Agent 平台,RAG 只是其一
rag-from-scratch从零理解 RAG 原理(本地 LLM 实现)

一句话总结

RAG = 语义检索 + 大模型生成,用真实资料压制幻觉;记住分工——「RAG 让模型查得到,微调让模型变得更像某种模型」,日常用自己资料首选 RAG。

关联概念