Type: concept
Confidence: 0.95
Created: 2026-04-15
Updated: 2026-04-15
Tags: 技术AI方法论AI工程

检索增强生成

概述

检索增强生成(Retrieval-Augmented Generation, RAG)是一种通过检索外部知识库中的相关信息并注入提示,来弥补 LLM 静态训练知识不足的技术。适用于知识库超过上下文窗口容量(约 20 万 token)的场景。

关键内容

标准 RAG 流水线

预处理阶段(离线): 1. 将知识库(文档语料)切分为若干百 token 的 Chunk 2. 用嵌入模型(Embedding Model)将 Chunk 转换为向量 3. 向量存入向量数据库,支持语义相似度检索

运行时阶段(在线): 4. 用户查询 → 向量化 5. 向量数据库按语义相似度召回 Top-K 个 Chunk 6. 将 Top-K Chunk 追加到提示中,模型生成回答

BM25 混合检索

语义嵌入擅长捕捉语义关系,但会遗漏精确词汇匹配。BM25(Best Matching 25)作为补充,通过词频-逆文档频率(TF-IDF)进行词汇精确匹配,对含有专有标识符或技术术语的查询尤为有效。

示例:查询 "Error code TS-999"——嵌入模型可能检索到关于错误码的泛化内容,而 BM25 能精确定位包含 "TS-999" 的文档。

标准混合 RAG 流程: 1. 切 Chunk → 生成 TF-IDF 编码 + 语义嵌入 2. BM25 找到词汇精确匹配的 Top Chunks 3. 嵌入找到语义相似的 Top Chunks 4. Rank Fusion(倒数排名融合等方式)合并去重 5. Top-K Chunk 注入提示生成回答

传统 RAG 的核心缺陷:上下文破坏

切块使每个 Chunk 失去原文档的上下文信息。经典案例:

原文 Chunk:
"The company's revenue grew by 3% over the previous quarter."

缺失信息:哪家公司?哪个季度?
→ 语义检索无法知道此 Chunk 是否对"ACME Corp Q2 2023 营收"有关

这一问题催生了 情境化检索 技术。

适用边界

与即时上下文检索的关系

RAG 即时上下文检索(JIT)
检索时机 查询时预处理召回 Agent 运行时工具按需读取
索引方式 离线预建向量/BM25 索引 轻量标识符(路径、URL)
适合场景 静态知识库、问答系统 动态代码库、实时数据

来源

相关