RAG 速查卡

先检索,再生成。RAG 用问题去知识库找相关片段,把片段塞进 prompt,让模型基于材料回答。它适合知识多、会更新、要引用来源的问答场景。

one sentence

RAG 是什么

Retrieval-Augmented Generation:回答前先查外部知识库,再让 LLM 基于查到的材料生成答案。

best for

什么时候用

  • 私有文档问答
  • 最新政策 / 产品资料
  • 客服知识库
  • 需要引用出处

not for

什么时候别急着用

  • 资料只有几页:直接塞 prompt
  • 只改语气格式:考虑微调
  • 通用常识问答:裸模型通常够用

pipeline

1. 切块chunk documents
2. 嵌入text to vectors
3. 检索top-k search
4. 拼装context + question
5. 生成answer with sources

two phases

离线建库

  • 收集文档
  • 切块 + metadata
  • embedding
  • 写入向量库

在线问答

  • 问题 embedding
  • Top-K 检索
  • 可选 rerank
  • LLM 生成

core warning

检索是命门

正确片段没进 prompt,模型没有好材料;错误片段进了 prompt,模型会把错误说得很流畅。优化顺序:先检索,后 prompt,最后再换模型。

retrieval knobs

关键调参

  • chunk size:太大噪声多,太小语义碎。
  • overlap:避免边界切断上下文。
  • top-k:常从 3~5 起步。

quality boost

提质手段

hybrid search rerank metadata filter query rewrite source citation

eval

怎么评估

准备“问题 → 应命中片段”的小集合。先看正确片段是否进入 Top-K,再看答案是否忠于片段。

选择建议

方案适用情况
RAG知识多、常变、需要溯源。
微调输出风格、格式、任务模式需要稳定。
长上下文资料少且固定,直接放进上下文更省事。

common mistakes

  • 把“全塞文档”当成 RAG。
  • 以为用了 RAG 就不会幻觉。
  • 文档和问题用了不同 embedding 模型。
  • Top-K 越大越好。
  • 没有评测集,只凭感觉调。