RAG(检索增强生成)在生成前先从外部知识库检索相关内容注入提示,让模型基于资料回答,解决知识截止、私有知识与幻觉问题。流程分离线建索引和在线查询两阶段。

离线:文档加载与清洗 → 切分成块(chunking)→ 用嵌入模型把每块编码为向量 → 存入向量数据库并建索引。在线:用户查询同样编码为向量 → 近似最近邻检索取 top-k 相关块 →(可选)重排序精排 → 把块与问题拼进提示模板 → LLM 生成带来源的回答。

文档 → 分块 → Embedding → 向量库
问题 → Embedding → 检索 top-k → Rerank → 拼接 Prompt → LLM → 答案+引用

易错点:RAG 不是万能药——检索质量差时注入的上下文反而误导模型;端到端效果取决于每个环节,分块、嵌入模型、提示模板任何一环拉胯都会成为短板。追问方向:RAG 与长上下文模型如何取舍?什么场景该用微调而非 RAG(改变模型行为风格而非注入事实知识)?