RAG 技术原理、核心流程与最佳实践指南
RAG 通过检索外部数据增强大模型生成效果。核心流程包括数据处理、特征提取、检索召回及结果利用。本文详解了数据结构化策略、Embedding 模型选择、混合检索机制及 Prompt 拼接技巧,并补充了评估指标与安全考量,为构建高效 RAG 系统提供完整技术方案。

RAG 通过检索外部数据增强大模型生成效果。核心流程包括数据处理、特征提取、检索召回及结果利用。本文详解了数据结构化策略、Embedding 模型选择、混合检索机制及 Prompt 拼接技巧,并补充了评估指标与安全考量,为构建高效 RAG 系统提供完整技术方案。

检索增强生成(Retrieval-Augmented Generation, RAG)是连接大语言模型(LLM)与私有知识库的关键技术。随着大模型应用的深入,RAG 在解决知识时效性、减少幻觉以及提升专业领域准确性方面扮演着核心角色。本文将深入解析 RAG 的原理、核心流程及工程化最佳实践。
RAG 的概念最早由 Lewis 等人在 2020 年提出,旨在结合预训练语言模型的生成能力与外部文档的检索能力。早期研究主要集中在向量检索与文本生成的结合上。随着 Transformer 架构的普及和 Embedding 技术的成熟,RAG 逐渐从学术概念走向工业级应用,成为企业构建智能问答系统的标准范式。
RAG 的核心思想是通过检索外部数据,增强大模型的生成效果。其基本流程如下:
graph LR
P[数据处理] -.-> R[检索]
R --> A[利用 | 增强]
A --> G[生成]
目标是将非结构化数据转化为模型可理解的特征。
传统上将数据分为三类:
传统方法通常先将数据转为文本,再提取特征。例如使用 OCR 识别 PDF 中的文字。现代多模态模型(如 GPT-4V)支持直接处理图像,提供了更多操作空间,但在企业级应用中,文本向量化仍是主流。
推荐使用大模型 Embedding 进行特征提取。Embedding 对内容的特征提取主要有三种语义模式:
向量相似度是对称的,即 Similarity(A, B) = Similarity(B, A)。
向量相似度具有方向性,Similarity(A, B) ≠ Similarity(B, A)。
结合前两者优点,通常配合 Instruction Tuning,让模型理解指令意图。
并非所有参与特征化的内容都能带来增益。在生成式场景中,精准的范围控制尤为重要。
受限于上下文窗口,对大文本进行分治是必要的。
CharacterTextSplitter 或 RecursiveCharacterTextSplitter,基于字符数或自然段落分割,保留重叠(Overlap)以维持上下文连贯性。MarkdownTextSplitter, PythonCodeTextSplitter, HTMLHeaderTextSplitter。SentenceTransformersTokenTextSplitter 确保 Token 计数准确。nlp_bert_document-segmentation_chinese-base,或基于 NLTK/spaCy 的分词器。准备好数据后,检索阶段决定了信息的获取效率。
单一检索方式往往存在局限。混合策略结合向量检索(语义匹配)与关键字检索(精确匹配),按一定权重排序,能显著提升召回率。
检索前的 Query 处理直接影响准确率。
拿到检索结果后,需将其有效融入生成过程。
最基础的方式是将检索结果直接拼接在 Prompt 中。
为节省 Input Token,可先对检索内容进行摘要,再发送给大模型。
构建 RAG 系统后,需关注以下指标:
优化建议:
RAG 的思想看似简单,但工程落地涉及数据治理、检索策略、模型调优等多个环节。具体实施需紧密结合业务场景,持续迭代优化。

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online
生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online
基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online
解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online