深入浅出检索增强生成(RAG)的工作原理,迈进AI决策新纪元
检索增强生成(RAG)的工作原理
面对大型语言模型(LLM)存在的知识滞后与事实性幻觉问题,检索增强生成(Retrieval-Augmented Generation, RAG)通过融合动态知识检索与智能生成的技术范式,构建了新一代可信AI系统。其核心架构通过下图所示的四个关键环节实现知识闭环,这个图是对灯塔书《知识增强大模型》第106页图4-2的简化,更详细的内容可参考灯塔书《知识增强大模型》第4章《检索增强生成》。该章详细介绍了什么是检索增强生成、为什么需要检索增强生成RAG、以及如何构建RAG系统等内容。:
RAG检索增强生成的流程下面是对每个环节的简要介绍。
1. 查询接收与初步处理
RAG过程始于用户输入查询或问题 。系统随后对查询进行初步分析,理解用户的意图、上下文以及具体的信息需求 。通常,用户的查询会通过嵌入模型转化为向量表示,通过向量检索是最常用的方法,这其中会用到向量数据库,有关向量数据库的内容可参考灯塔书《知识增强大模型》第3章《向量数据库》 。
2. 从外部知识源检索相关信息
RAG利用各种外部数据源,如数据库、API或文档存储库、知识图谱等,来获取相关信息 。向量数据库用于存储和高效搜索基于语义相似性的信息。系统将查询向量与向量存储中的文档向量进行比较,使用余弦相似度等度量方法找到与查询最相关的文档或数据片段 。现代RAG架构通常采用多模态向量数据库(如Milvus),通过分层导航索引(HNSW)实现亿级向量的毫秒级响应(参阅灯塔书第3章)。检索过程融合余弦相似度、欧氏距离等多维度匹配算法,同时引入重排序(Re-Rank)模块优化top-k候选集的语义相关性。使用Elasticsearch进行文本检索也是常用的方法。灯塔书《知识增强大模型》第4章《检索增强生成》详细介绍了使用向量检索和Elasticsearch文本检索进行大模型增强的方法。调用通用搜索引擎的额API用以检索通用知识则是通用大模型系统(如Deepseek的联网搜索)的标准用法。在专业领域则会使用知识图谱。通常,系统会检索与查询最相似的前k个文档。
3. 使用检索到的上下文增强语言模型的输入
检索到的文本块与原始用户查询相结合,形成一个增强的提示。相关文档作为上下文与原始输入提示连接起来。通过提示工程技术,可以有效地与LLM进行沟通。检索结果经去重、质量过滤后,与原始查询进行智能拼接。采用"上下文窗口优化"技术,通过位置编码和注意力掩码确保关键信息聚焦。典型的提示模板包含:系统角色定义(如"你是一个具有XX领域专业知识的智能助手" ),知识上下文(如使用标签嵌入检索片段)和响应约束(如"严格基于提供证据,如信息不足请说明")。关于大模型提示词的编写可以参阅灯塔书《知识增强大模型》各章节的实例。
4. 基于增强的信息生成最终响应
组合的文本和提示被传递给语言模型以生成响应。LLM利用其内部知识和提供的上下文来生成连贯且与上下文相关的答案。在某些情况下,生成的响应可能会经过后处理,以进行事实核查、总结或格式化。LLM还可能在最终响应中引用检索到的信息的来源 。
总的来说,当前RAG系统正从"检索-生成"的线性流程向迭代式架构进化,通过反馈循环实现检索与生成的动态协同。在金融风控、医疗诊断等专业领域,RAG将领域知识库的更新周期从季度级压缩至秒级,使AI系统的决策准确率获得极大提升。

xwf038
校验提示文案
xwf038
校验提示文案