TL;DR
RAG(Retrieval-Augmented Generation)让大模型在生成前先从外部知识库检索相关内容,再据此作答。它解决幻觉、知识过时和私有数据问题,是实现可靠 AI 应用的主流架构。
核心要点
- 为什么需要:模型参数里的知识有截止日期,且无法覆盖私有数据;RAG 把「记忆」外置到数据库。
- 三个环节:
- 1. 索引(Ingestion):文档切块(chunking)→ 向量化(embedding)→ 存入向量库;
- 2. 检索(Retrieval):把用户问题向量化,做相似度检索,可加混合检索(关键词+向量)和重排(rerank);
- 3. 生成(Generation):把检索结果拼进提示词,让模型引用上下文作答。
- 常见优化:HyDE(先让模型生成假设答案再检索)、GraphRAG(知识图谱增强)、父文档检索(小 chunk 检索、大 chunk 生成)。
- 关键参数:chunk 大小、重叠、embedding 模型、top-k、相似度阈值、重排模型。
取舍
- 优点:可控、可更新、可溯源、降低幻觉;
- 代价:多一次检索延迟、额外基础设施成本、检索质量直接决定回答质量;
- 不是万能:复杂推理、全局总结类问题可能更适合长上下文或 GraphRAG。
来源
- Lewis et al., "Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks"(2020)
- Wikipedia: Retrieval-augmented generation
- 各主流向量库与框架官方文档(Pinecone / LangChain / LlamaIndex)