简介:RAG(检索增强生成)是一种通过检索外部知识库来增强大语言模型生成能力的AI架构。本文系统讲解RAG的定义与出现背景,拆解其“检索-增强-生成”核心流程与关键模块,对比RAG与微调、长上下文等方案的区别,并梳理典型应用场景与落地注意事项,帮助读者全面理解这项AI应用落地的关键技术。
一、什么是RAG技术
RAG(Retrieval-Augmented Generation,检索增强生成)是一种将外部知识检索与大语言模型(LLM)生成能力相结合的人工智能架构。它并非一个具体的模型,而是一套“先查资料、再做回答”的系统化方法:当用户提出问题时,系统先从外部知识库中检索出与问题相关的内容片段,再把这些片段作为上下文连同问题一起交给大模型,由模型基于这些“现成的证据”生成回答。
可以从三个视角理解这一概念:
该技术由业界研究团队于2020年5月在一篇题为《Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks》的论文中首次正式提出,最初用于知识密集型自然语言处理任务。随着大语言模型的普及,RAG已成为企业构建知识库问答、智能客服等AI应用的主流技术路线之一,并衍生出Advanced RAG、GraphRAG等多种演进形态。
二、RAG为什么出现:背景与价值
大语言模型虽然在通用理解与生成上表现出色,但在实际落地中存在三个公认瓶颈:
针对上述问题,业界存在两种主流解法:微调(继续训练模型)与RAG(外挂知识库)。RAG的核心价值在于:
三、核心组成:RAG系统的关键模块
一个典型的RAG系统由以下模块构成:
四、工作原理:检索-增强-生成三阶段
RAG的运行分为离线索引与在线问答两个过程,串起“检索—增强—生成”三个阶段。
离线阶段(知识入库):
原始文档 → 加载与清洗 → 文本切分 → 向量化 → 写入向量数据库
在线阶段(查询应答):
用户提问 → 查询向量化 → 相似度检索(Top-K)→ 重排序与筛选 → 组装增强提示 → LLM生成 → 返回答案(可附引用)
用通用伪代码示意整体流程:
# —— 离线:构建索引 ——docs = load_documents("knowledge_base/") # 加载文档chunks = split(docs, size=512, overlap=50) # 切分片段vectors = embed(chunks) # 向量化index.upsert(ids, chunks, vectors) # 写入向量库# —— 在线:问答 ——def rag_answer(question):q_vec = embed([question])hits = index.search(q_vec, top_k=5) # 检索相关片段hits = rerank(question, hits)[:3] # 重排序取优context = "\n".join(h.text for h in hits)prompt = ("请仅依据以下资料回答问题,资料不含答案时请如实说明。\n"f"【资料】\n{context}\n【问题】{question}")return llm.generate(prompt) # 生成回答
三个阶段各司其职:检索解决“去哪里找知识”,增强解决“如何把知识喂给模型”,生成解决“如何组织成自然语言答案”。整条链路中模型参数始终不变,知识以数据形式动态注入。
五、典型应用场景
在工程落地层面,开发者可以在百度智能云等云平台上组合使用向量数据库、大模型推理服务、对象存储等通用云产品能力,快速搭建RAG应用,无需从零自建全部基础设施。
六、RAG与相关概念的区别
RAG vs 模型微调:两者都是向模型注入知识的手段,但方式不同。微调通过继续训练修改模型参数,适合调整风格、语气与领域行为;RAG不改参数,适合注入事实性、时效性知识,更新知识库即可生效,且答案可溯源、成本更低。二者并非互斥,实践中常组合使用。
RAG vs 长上下文:长上下文模型可将海量文本一次性放入窗口,但存在调用成本高、注意力稀释(超长文本中出现“大海捞针”式衰减)等问题。RAG先检索再生成,只把最相关的少量内容送入模型,兼顾成本与精度,两者也常配合使用。
RAG vs 传统搜索:搜索返回文档列表,用户需自行阅读整合;RAG直接给出综合性的自然语言答案并可附引用,可理解为“检索的可信+生成的易用”。
RAG自身的演进形态:朴素RAG实现基本“检索-生成”链路;Advanced RAG引入查询改写、混合检索、重排序、片段压缩等优化;GraphRAG以知识图谱组织知识,利用实体关系做多跳检索,适合需要跨文档关联推理的问题;Agentic RAG则由智能体自主决定何时检索、检索什么、是否多次检索,适合复杂任务。
七、使用注意事项
八、总结
RAG(检索增强生成)通过“检索—增强—生成”三段式架构,把大语言模型从“凭记忆作答”改造为“查资料作答”,以较低的工程成本解决了知识时效性不足、幻觉与私有数据接入困难三大落地难题。它不改变模型参数,知识即数据、随改随生效,且答案可溯源,因而是当前企业知识库、智能客服、专业领域问答等AI应用的主流技术底座。同时也要认识到,RAG并非银弹,其效果高度依赖切分、检索、评估等工程细节,且常与微调、长上下文、智能体等技术组合使用。理解“用检索增强生成”这一本质,再针对具体场景持续优化链路,才能真正发挥RAG的价值。