简介:RAG(检索增强生成)是让大模型先检索、再作答的关键技术架构。本文系统解读RAG技术体系:从核心定义与背景价值讲起,拆解Simple RAG、上下文增强、多维过滤等关键技术的原理与作用位置,辨析RAG与微调、长上下文的区别,并给出典型场景与落地注意事项,帮助开发者构建更准确、高效、可溯源的生成式应用。
RAG(Retrieval-Augmented Generation,检索增强生成)是一种将“外部知识检索”与“大模型内容生成”相结合的技术架构:系统在回答用户问题之前,先从文档库、数据库等知识源中检索出与问题相关的片段,再将其作为参考上下文交给大语言模型,由模型基于这些真实材料组织答案。
而通常所说的“RAG技术体系”(RAG Techniques),指的是围绕这一架构沉淀下来的、成体系的可复用方法与工程实践,覆盖从文档解析、切块、向量化、检索、过滤、重排序,到上下文组装、答案生成与效果评估的完整链路。需要强调的是,它并不对应某一个具体的AI模型,而是一组技术方法的集合——不同环节有多种可选方案,开发者按业务需要组合搭配,最终目标是提升生成式系统的准确性、效率和上下文丰富性。
可以从三个视角来理解这一概念:
1. 大模型的固有局限催生了RAG
RAG的解法是“知识外挂”:把知识放在可随时更新的外部存储中,模型只负责理解与生成。知识更新只需重建索引,无需重训模型;答案可标注来源,便于人工校验。
2. 朴素RAG的不足催生了技术体系
“切块→向量化→检索top-k→拼接生成”这条最简链路在演示中可行,但放到真实业务中常会遇到:检索结果不准或混入大量无关噪声;关键信息被切块“腰斩”,语义不完整;召回内容高度重复,浪费宝贵的上下文窗口;用户表达口语化、多轮对话中存在指代,直接检索命中率低。
因此业界发展出一系列针对性技术——查询变换、上下文增强、混合检索、重排序、多维过滤、评估迭代等。将这些方法按“入门基线→进阶优化”组织成结构化的技术集合,其价值在于:
1. Simple RAG:入门基线
最简流程:加载文档 → 切块 → 向量化 → 存入向量库 → 按语义相似度检索top-k → 拼入提示词 → 大模型生成答案。
它的价值不在效果极致,而在链路透明、易于排错:开发者可以逐步检查每个中间产物(切块是否合理、检索是否命中、上下文是否有效),为后续叠加进阶技术打下认知基础。
2. Context Enrichment Techniques:上下文增强
核心思想:检索命中的“最小单元”往往不足以支撑生成,需在索引或组装阶段扩展上下文信息。常见做法包括:
这些手段直接服务于“上下文丰富性”,是提高检索精度与答案完整度的关键。
3. Multi-faceted Filtering:多维过滤与质量控制
核心思想:不要把“相似度top-k”直接当成最终上下文,而要从多个维度继续过滤和重排:
多维过滤直接决定“喂给模型的内容质量”,往往能用较低成本换取明显的效果提升。
4. 其他常见技术家族
RAG系统可分为离线索引与在线问答两个阶段:
如下伪代码展示了最简骨架,以及各项技术的作用位置:
# ---------- 离线索引 ----------docs = load_and_parse(知识源) # 文档解析chunks = split(docs, size=512, overlap=64) # 切块for c in chunks:c.meta = extract_metadata(c) # 元数据注入(上下文增强)c.vector = embed(c.text) # 向量化store.upsert(c.id, c.vector, c.meta) # 入库# ---------- 在线问答 ----------q = preprocess(question, chat_history) # 查询变换(改写/指代消解)cands = store.search(embed(q), top_k=20) # 语义检索(可叠加关键词混合检索)cands = filter(cands, meta_rules, threshold) # 多维过滤cands = rerank(q, cands)[:top_n] # 重排序,取头部结果ctx = assemble(cands, neighbor_window=1) # 上下文组装(邻块扩展等)answer = llm(prompt(ctx, q)) # 基于上下文生成
可以看到:Simple RAG是这条流水线的最小子集;上下文增强主要作用于“索引”与“组装”两端;多维过滤作用于“检索后、生成前”。整个技术体系本质上是给流水线上每个环节提供“可选的升级零件”。
实际落地时,这类系统通常会组合使用云平台上的通用能力,如向量数据库、文档解析服务、对象存储、模型推理、监控告警等——以百度智能云为代表的云服务平台即提供此类通用组件,可按需选型组合,而不必从零自建全部基础设施。
RAG技术体系是围绕“检索增强生成”这一架构沉淀的方法集合:它以Simple RAG为入门基线,以上下文增强解决“检索结果语义不完整”的问题,以多维过滤解决“结果质量与合规”的问题,并辅以查询变换、混合检索、重排序、评估迭代等手段,系统性提升生成式问答的准确性、效率与上下文丰富性。它不是某个单一模型,而是一套可按需组合的工程方法——理解每项技术“作用在流水线的哪个位置、解决什么问题”,比记住技术名词更重要。当业务需要让大模型回答私有、实时、可溯源的问题时,RAG技术体系正是值得优先掌握的基础设施级能力。