AI 通关攻略 · 第 4 关 | RAG给 AI 装上实时资料库故事从一个问题说起LLM 的知识是静态的——训练完成后它的知识就停止了。如果你想让 LLM 回答“我们公司去年 Q3 的营收是多少”“最新的 XXX 法规有什么变化”“某篇论文的核心结论是什么”这些问题 LLM 不可能知道因为答案在它的训练数据之外。怎么办有两个方向Fine-tuning微调把新知识训练进模型里RAG检索增强生成在回答问题时临时把相关知识找出来给 LLM 看RAG 就是第二种思路的完整解决方案。什么是 RAGRAG Retrieval检索 Augmented增强 Generation生成核心思想不改变 LLM 本身而是给 LLM 配备一个实时资料库让它在回答问题前先去查资料再基于查到的真实资料生成答案。类比就像开卷考试——LLM 是学生知识库是课本。学生不需要背下所有知识但考试时能翻开课本查到准确答案。RAG 的工作流程RAG 的完整流程分为两个阶段建库阶段 和 查询阶段。2.1 建库阶段离线文档 → 切分(Chunk) → Embedding → 存入向量数据库步骤详解文档获取收集需要 LLM 掌握的知识PDF、网页、数据库、合同等文档切分Chunking把长文档切成小块如每块 500 token。切太小丢失上下文切太大检索不精准生成 Embedding用 Embedding 模型把每个文本块转成向量存入向量数据库向量 原始文本块 元数据来源、时间等一起存储2.2 查询阶段在线用户问题 → Embedding → 向量数据库检索 → 拼接上下文 → LLM 生成回答步骤详解问题向量化把用户问题用同一个 Embedding 模型转成向量相似度检索在向量数据库中找到与问题向量最相似的 Top-K 个文本块上下文拼接把检索到的文本块按相关性排序拼接成一个上下文LLM 生成把上下文 用户问题一起发给 LLM让它基于真实资料回答RAG 的核心组件3.1 Embedding 模型负责把文本转成向量。Embedding 模型的质量直接影响检索质量。选择建议中文场景推荐 BGE-large-zh、M3E 等国产开源模型英文场景OpenAI 的 text-embedding-3-large 效果出色多语言 Cohere Embed 3 多语言版3.2 向量数据库存储和检索 Embedding 向量的数据库。常见选择数据库特点适用场景Milvus开源国产支持海量向量企业级大规模应用Pinecone云服务免运维快速上手Chroma轻量Python 原生个人项目、原型验证Weaviate开源支持混合搜索需要同时支持向量关键词检索Qdrant开源高性能对延迟敏感的场景3.3 文本切分策略ChunkingChunking 是 RAG 中最容易被忽视但影响极大的环节。常见策略固定长度切分每 N 个 token 一切分如 500 token简单但可能切断语义语义切分按段落或句子切分保留语义完整性递归切分先按段落再按句子层层细化经验法则目标 chunk 大小在 300~800 token 之间效果较好。重叠 10~20% 可以减少边界信息丢失。3.4 检索策略基本的相似度检索之外还有高级策略混合搜索Hybrid Search同时做向量相似度搜索 关键词搜索兼顾语义和精确匹配重排序Reranking先用向量搜索召回 Top-20再用更精确的模型如 BGE Reranker排序到 Top-5元数据过滤按时间、来源等条件过滤减少不相关内容RAG vs Fine-tuning微调这是最常见的对比问题对比项RAGFine-tuning本质外部检索不改变模型把知识训练进模型参数知识更新随时更新知识库无需重训需要重新训练幻觉减少效果显著基于真实资料效果有限只是让模型更像某个领域成本低不用训练只需维护向量库高GPU 训练成本适用场景实时性知识、私有知识、大规模知识行为模式改变、风格调整局限性检索质量依赖 Embedding 和 Chunking新知识仍可能产生幻觉最佳实践RAG Fine-tuning 结合使用。RAG 负责提供实时知识Fine-tuning 负责让模型的行为更加符合特定领域的表达习惯。Advanced RAG在基础 RAG 之上有一系列进阶技术5.1 Query 改写Query Rewriting用户的问题可能表达不清直接检索效果差。可以在检索前用 LLM 改写问题用户问“那个啥就是去年搞的那个AI项目效果咋样来着”LLM 改写“2024年AI项目的实施效果如何”5.2 Parent Document Retrieval每个小块记录其父文档更大的上下文块检索时先找小块再召回其父文档给 LLM 更完整的上下文。5.3 Self-RAG自我反思 RAG让 LLM 在生成过程中判断检索的内容是否有用生成的答案是否基于检索到的内容答案是否完整类似 Agent 的自我反思机制。RAG 的适用场景场景是否适合 RAG企业内部知识库问答✅ 强烈推荐法律/医疗等专业领域问答✅ 强烈推荐实时新闻相关问答✅ 需要配合定时更新知识库代码助手结合代码库✅ 非常适合个人笔记/文档搜索✅ 非常适合开放式闲聊❌ 不需要 RAG数学推理/逻辑推理❌ RAG 帮助有限总结RAG 的本质给 LLM 装一个实时查阅资料的能力让它回答知识库范围内的准确问题而不是靠记忆幻觉风险高。RAG 向量检索 上下文拼接 LLM 生成RAG 的价值 实时知识 低幻觉 低成本 随时可更新RAG 是当前企业 AI 落地最成熟的技术路径之一理解它对于构建任何需要AI 知识的系统都至关重要。
AI 通关攻略 · 第 4 关 | RAG:给 AI 装上“实时资料库“
AI 通关攻略 · 第 4 关 | RAG给 AI 装上实时资料库故事从一个问题说起LLM 的知识是静态的——训练完成后它的知识就停止了。如果你想让 LLM 回答“我们公司去年 Q3 的营收是多少”“最新的 XXX 法规有什么变化”“某篇论文的核心结论是什么”这些问题 LLM 不可能知道因为答案在它的训练数据之外。怎么办有两个方向Fine-tuning微调把新知识训练进模型里RAG检索增强生成在回答问题时临时把相关知识找出来给 LLM 看RAG 就是第二种思路的完整解决方案。什么是 RAGRAG Retrieval检索 Augmented增强 Generation生成核心思想不改变 LLM 本身而是给 LLM 配备一个实时资料库让它在回答问题前先去查资料再基于查到的真实资料生成答案。类比就像开卷考试——LLM 是学生知识库是课本。学生不需要背下所有知识但考试时能翻开课本查到准确答案。RAG 的工作流程RAG 的完整流程分为两个阶段建库阶段 和 查询阶段。2.1 建库阶段离线文档 → 切分(Chunk) → Embedding → 存入向量数据库步骤详解文档获取收集需要 LLM 掌握的知识PDF、网页、数据库、合同等文档切分Chunking把长文档切成小块如每块 500 token。切太小丢失上下文切太大检索不精准生成 Embedding用 Embedding 模型把每个文本块转成向量存入向量数据库向量 原始文本块 元数据来源、时间等一起存储2.2 查询阶段在线用户问题 → Embedding → 向量数据库检索 → 拼接上下文 → LLM 生成回答步骤详解问题向量化把用户问题用同一个 Embedding 模型转成向量相似度检索在向量数据库中找到与问题向量最相似的 Top-K 个文本块上下文拼接把检索到的文本块按相关性排序拼接成一个上下文LLM 生成把上下文 用户问题一起发给 LLM让它基于真实资料回答RAG 的核心组件3.1 Embedding 模型负责把文本转成向量。Embedding 模型的质量直接影响检索质量。选择建议中文场景推荐 BGE-large-zh、M3E 等国产开源模型英文场景OpenAI 的 text-embedding-3-large 效果出色多语言 Cohere Embed 3 多语言版3.2 向量数据库存储和检索 Embedding 向量的数据库。常见选择数据库特点适用场景Milvus开源国产支持海量向量企业级大规模应用Pinecone云服务免运维快速上手Chroma轻量Python 原生个人项目、原型验证Weaviate开源支持混合搜索需要同时支持向量关键词检索Qdrant开源高性能对延迟敏感的场景3.3 文本切分策略ChunkingChunking 是 RAG 中最容易被忽视但影响极大的环节。常见策略固定长度切分每 N 个 token 一切分如 500 token简单但可能切断语义语义切分按段落或句子切分保留语义完整性递归切分先按段落再按句子层层细化经验法则目标 chunk 大小在 300~800 token 之间效果较好。重叠 10~20% 可以减少边界信息丢失。3.4 检索策略基本的相似度检索之外还有高级策略混合搜索Hybrid Search同时做向量相似度搜索 关键词搜索兼顾语义和精确匹配重排序Reranking先用向量搜索召回 Top-20再用更精确的模型如 BGE Reranker排序到 Top-5元数据过滤按时间、来源等条件过滤减少不相关内容RAG vs Fine-tuning微调这是最常见的对比问题对比项RAGFine-tuning本质外部检索不改变模型把知识训练进模型参数知识更新随时更新知识库无需重训需要重新训练幻觉减少效果显著基于真实资料效果有限只是让模型更像某个领域成本低不用训练只需维护向量库高GPU 训练成本适用场景实时性知识、私有知识、大规模知识行为模式改变、风格调整局限性检索质量依赖 Embedding 和 Chunking新知识仍可能产生幻觉最佳实践RAG Fine-tuning 结合使用。RAG 负责提供实时知识Fine-tuning 负责让模型的行为更加符合特定领域的表达习惯。Advanced RAG在基础 RAG 之上有一系列进阶技术5.1 Query 改写Query Rewriting用户的问题可能表达不清直接检索效果差。可以在检索前用 LLM 改写问题用户问“那个啥就是去年搞的那个AI项目效果咋样来着”LLM 改写“2024年AI项目的实施效果如何”5.2 Parent Document Retrieval每个小块记录其父文档更大的上下文块检索时先找小块再召回其父文档给 LLM 更完整的上下文。5.3 Self-RAG自我反思 RAG让 LLM 在生成过程中判断检索的内容是否有用生成的答案是否基于检索到的内容答案是否完整类似 Agent 的自我反思机制。RAG 的适用场景场景是否适合 RAG企业内部知识库问答✅ 强烈推荐法律/医疗等专业领域问答✅ 强烈推荐实时新闻相关问答✅ 需要配合定时更新知识库代码助手结合代码库✅ 非常适合个人笔记/文档搜索✅ 非常适合开放式闲聊❌ 不需要 RAG数学推理/逻辑推理❌ RAG 帮助有限总结RAG 的本质给 LLM 装一个实时查阅资料的能力让它回答知识库范围内的准确问题而不是靠记忆幻觉风险高。RAG 向量检索 上下文拼接 LLM 生成RAG 的价值 实时知识 低幻觉 低成本 随时可更新RAG 是当前企业 AI 落地最成熟的技术路径之一理解它对于构建任何需要AI 知识的系统都至关重要。