RAG 知识体系梳理
目录前言一、RAG基本概念1.1 核心定义1.2 作用二、RAG 的核心工作流程2.1 离线索引数据准备2.2 检索环节2.3 生成环节三、 关键组件解析3.1 文本分割策略3.2 嵌入模型3.3 向量数据库四、RAG类型4.1 Native RAG4.2 Agent RAG4.3 Graph RAGGraph RAG优势4.4 Hybrid RAG五、RAG 落地注意事项文本分割不合理检索精度低嵌入模型选型不当语义匹配不准Agent RAG/Graph RAG 落地困难前言在大模型时代RAGRetrieval-Augmented Generation检索增强生成早已不是小众技术而是解决大模型“知识过期、幻觉严重、专业度不足”的核心方案这篇博客梳理一下RAG相关的知识体系一、RAG基本概念1.1 核心定义RAG直译是“检索增强生成”核心思想是在模型生成答案之前先从外部知识库中检索出最相关的文档片段然后将这些片段作为上下文提供给模型让模型基于这些“参考资料”生成回答。1.2 作用大模型如GPT、LLaMA虽然强大但存在天然短板RAG正是为解决这些问题而生知识过期大模型训练数据有截止日期比如GPT-4截止到2023年4月无法获取实时信息如最新政策、行业动态RAG可通过更新知识库让大模型“实时学习”。幻觉严重大模型容易编造不存在的信息比如假数据、假引用RAG基于真实的知识库检索能大幅降低幻觉让回答更可信。专业度不足大模型对垂直领域如医疗、法律、工业的细分知识掌握不深RAG可接入行业专属知识库让大模型快速具备专业能力。二、RAG 的核心工作流程RAG的整体流程可拆解为「数据准备→检索→生成」三个核心环节2.1 离线索引数据准备文档加载从 PDF、网页、数据库等多源加载文档。文本分割Chunking将长文档切分为语义连贯的小块。嵌入Embedding将每个文本块经过嵌入模型转化为向量。向量存储将向量连同元数据存入向量数据库构建索引。2.2 检索环节查询处理对用户问题做重写、扩展或分解。嵌入Embedding将处理之后的用户问题经过相同的嵌入模型转化为向量。检索用问题向量在知识库中检索 Top-K 个最相关文本块。重排序Reranking基于重排序rerank模型对候选文本快重新打分、筛选。2.3 生成环节将检索到的相关文本片段作为上下文传入大模型让大模型基于这些“参考资料”生成连贯、精准、无幻觉的回答。关键细节提示词Prompt设计很重要需要明确告诉大模型“只能基于提供的参考资料回答不要编造信息”避免大模型忽略检索结果、依赖自身记忆。三、 关键组件解析3.1 文本分割策略好的分块直接影响检索质量。常用策略有固定大小分块按 token 或字符数切分设置重叠窗口overlap防止语义断裂。递归分块先按段落、后按句子递进切分尽量保留语义边界。语义分块利用模型判断句子间的语义相似度在主题变化处切分。句子窗口检索检索时取命中的句子再扩展其周围句子作为上下文。3.2 嵌入模型负责将文本转换成向量是检索精准度的“基础”常用模型分为两类通用模型Sentence-BERT、BERT、GPT-4 Embeddings适合通用场景。垂直领域模型医疗领域的BioBERT、法律领域的LegalBERT适合专业场景能更好地理解领域术语。3.3 向量数据库负责存储向量和快速检索选择时重点关注3点检索速度、 scalability可扩展性、易用性常用选型开源款Milvus开源、高性能适合企业自建、Chroma轻量、易部署适合开发测试。云服务款Pinecone、Weaviate无需自建按需付费适合快速落地。四、RAG类型4.1 Native RAG这是最基础、最常用的RAG形态也是我们最初接触的RAG核心特点检索方式基于向量数据库的“相似性检索”只找“语义相似”的文本碎片。流程固定不变——用户提问→嵌入转换→向量检索→大模型生成。4.2 Agent RAG将 RAG 封装为智能体可以调用的工具。智能体可以规划、多步检索、对比多源信息、验证并用思维链完成复杂研究任务。4.3 Graph RAGGraphRAG的核心是“换一种检索底层”将普通的“文本碎片检索”换成“知识图谱检索”本质是先将知识库中的文本抽成“实体关系”的知识图谱比如“硝苯地平→治疗→高血压”检索时顺着关系链查找而不是单纯匹配相似文本。Graph RAG优势GraphRAG 相比普通 RAG 的核心优势能回答“多跳”问题普通 RAG 只能找相似片段问“A 公司的竞争对手中谁在 B 领域投资最大”就需要跨实体推理GraphRAG 通过知识图谱的关系链接一次检索就能串联多个信息点。答案更完整、不碎片化普通 RAG 返回多个独立片段可能重复或矛盾。GraphRAG 基于实体和关系能输出结构化的、全局性的答案比如“人物关系网、事件时间线”。可解释性更强普通 RAG 只说“来自文档 X”。GraphRAG 能展示推理路径“A–投资– B –竞争– C”每步都有依据。减少“不相关检索”普通 RAG 容易被关键词误导。GraphRAG 通过知识图谱的语义关系过滤只走有逻辑关联的路径噪音更少。4.4 Hybrid RAGHybrid RAG结合了“向量检索”和“关键词检索”传统检索核心特点向量检索负责匹配“语义相似”的文本解决同义词、歧义问题。关键词检索负责匹配“关键词精准匹配”的文本解决专业术语、精准查询问题。优点兼顾“语义贴合度”和“精准度”是目前企业落地最常用的RAG形态。五、RAG 落地注意事项文本分割不合理检索精度低问题表现要么分块太长超过大模型上下文窗口导致检索片段冗余要么分块太短语义断裂比如一句话被拆成两段无法理解完整含义最终导致检索不到相关内容或检索结果无关。解决方案优先选择「递归分块」或「语义分块」避免固定大小分块的生硬割裂分块长度控制在 200-500token设置 10%-20% 的重叠窗口overlap防止语义断裂垂直领域文档如医疗、法律可适当缩短分块保证专业术语的完整性。嵌入模型选型不当语义匹配不准问题表现通用嵌入模型无法理解垂直领域术语比如用 Sentence-BERT 检索医疗文献无法识别专业病症、药物名称的语义关联导致检索结果偏差。解决方案通用场景选 Sentence-BERT、GPT-4 Embeddings兼顾效果和效率垂直领域必须选用对应领域模型医疗用 BioBERT、法律用 LegalBERT提升术语语义匹配度Agent RAG/Graph RAG 落地困难问题表现部署 Agent RAG 后智能体频繁无效调用 RAG 工具Graph RAG 图谱构建复杂无法实现多跳推理。解决方案Agent RAG优化智能体的提示词明确检索触发条件比如 “当问题需要具体数据、专业内容时再调用 RAG 工具”避免无效调用Graph RAG优先简化图谱结构聚焦核心实体和关系避免过度复杂比如医疗场景先构建 “药物 - 病症 - 治疗方式” 核心关系后期再逐步扩展。