RAG 基本原理:检索增强生成完整指南 什么是 RAGRAGRetrieval-Augmented Generation检索增强生成 是一种将 信息检索 与 大语言模型LLM生成 结合的系统设计模式。其核心思想是在回答用户问题之前先从外部知识库中检索相关文档片段再将检索结果作为上下文注入 Prompt由 LLM 基于「问题 检索上下文」生成答案。经典定义来自 Lewis 等人2020用检索到的文档增强语言模型的输入从而提升知识密集型任务的表现并降低幻觉。RAG 的应用场景场景说明智能客服基于产品手册、FAQ 回答用户咨询企业知识库内部制度、流程、技术文档问答文档助手合同、研报、论文等长文档问答与摘要代码助手结合代码库 / API 文档做检索式问答垂直领域问答医疗、法律、金融等需引用权威资料的场景为什么需要 RAG3.1 传统检索方式的局限方式特点局限关键词检索BM25 等精确匹配词项难以理解同义表达与语义全文检索覆盖整篇文档难以定位细粒度相关片段纯向量检索语义相似度匹配对专有名词、编号等字面匹配较弱传统检索 只返回文档列表无法像对话一样组织自然语言答案用户仍需自行阅读与归纳。3.2 仅使用 LLM 的局限LLM 的本质是 基于上下文预测下一个 Token在缺少外部事实支撑时容易出现幻觉Hallucination编造不存在的事实或引用知识过时训练数据有截止时间无法反映最新信息无法访问私有数据企业内网文档、个人资料未参与训练上下文与成本约束整库文档无法全部塞进上下文窗口Token 越多延迟与费用越高RAG 通过 「先检索、再生成」把回答锚定在可核查的外部片段上在效果、成本与可控性之间取得平衡。RAG 核心流程RAG 通常分为 两条生命周期离线索引构建Indexing 与 在线查询应答Query / Inference。4.1 第一阶段离线数据准备Indexing Pipeline将私有知识沉淀为可检索的向量索引。原始文档 → 加载与解析Load Parse → 清洗与结构化Clean → 文档切分Chunking → 向量化Embedding → 写入向量库并建立索引Index Metadata步骤说明加载与解析从 PDF、Word、网页、数据库等抽取纯文本复杂版式需 OCR、表格解析清洗去噪、统一编码、去重、保留标题层级与来源等元数据切分Chunking按固定长度、段落、标题或语义边界切成 Chunk常配合 Overlap重叠 避免语义在边界被截断向量化使用 Embedding 模型将每个 Chunk 映射为稠密向量存储与索引写入向量数据库如 Milvus、Qdrant、Pinecone、pgvector 等并保存文档 ID、页码、权限等 元数据Metadata 供过滤4.2 第二阶段在线用户提问Query Pipeline用户发起问题后的标准链路如下粗筛与精筛是同一检索链路上的两档而非两套独立系统。用户问题 → [可选] 查询改写 / 分类Query Rewrite / HyDE 等 → 问题向量化Query Embedding → 检索Retrieval ├─ 向量相似度检索Dense余弦相似度、点积等 ├─ [可选] 关键词检索SparseBM25 等 └─ [推荐] 混合检索Hybrid Search 权限过滤ACL Filter → Top-K 粗筛召回候选 Chunk → [可选] 重排RerankCross-Encoder 等→ 精筛 Top-N → Prompt 组装Augmentation问题 检索片段 系统指令 → LLM 生成回答 → [可选] 后处理引用标注、安全过滤、拒答策略流程说明纠正常见误解相似度检索 是手段向量检索 是其实现方式之一在线阶段是对 问题向量 与 库中 Chunk 向量 做近邻搜索而不是再次对原始文档做全量向量化。Top-K 负责 召回Recall追求「尽量不漏」Rerank 负责 精排Precision用更强但更慢的模型对少量候选重新打分。欧氏距离 与 余弦相似度 在向量已归一化时往往等价工程上更常用余弦相似度或内积。关键组件速览组件作用Embedding 模型文本 ↔ 向量索引与查询须使用 同一模型或兼容版本向量数据库高效近似最近邻ANN搜索支持元数据过滤检索器Retriever执行 Dense / Sparse / Hybrid 检索重排模型Reranker对 Query–Document 对精细打分提升 Top 结果相关性Prompt 模板约束 LLM 仅依据给定上下文作答并要求标注来源生成模型LLM综合上下文生成最终自然语言回答难点与工程技巧6.1 文档类型多样化PDF、Word、Excel、PPT、扫描件、图片等格式各异。需通过解析器、OCR、表格识别等手段做 数据清洗与结构化解析质量直接决定 RAG 上限这一步不可忽视。6.2 文档切分Chunking问题后果Chunk 过大噪声多、相似度区分度下降、易超出上下文Chunk 过小语义不完整、回答缺乏必要背景建议结合文档结构标题、段落切分设置合理chunk_size与chunk_overlap对代码、表格等特殊内容单独策略处理。6.3 用户问题口语化口语、省略、多义词会导致检索偏差。可采用Query Rewrite用 LLM 将口语问题改写为更利于检索的表述HyDEHypothetical Document Embeddings先生成假设性答案再取向量检索Query Decomposition将复杂问题拆成子问题分别检索6.4 混合检索Hybrid Search生产环境常将 向量检索语义 与 BM25 等关键词检索字面 结合再经 融合打分如 RRF 取并集兼顾「意思相近」与「专有名词精确命中」。6.5 模型选型需综合考量Embedding 与 LLM 的效果、幻觉率、推理延迟、Token 成本、是否支持长上下文、私有化部署与合规要求等。6.6 评估与可观测性检索与生成应分开评估RecallK、MRR 看检索答案忠实度、引用正确性看生成记录每次查询的检索片段、Prompt、模型版本便于回归与排错业界经验多数 RAG 失败根因是检索错了上下文而非生成模型本身能力不足数据权限实现企业知识库、多部门协作等场景下RAG 必须保证 用户只能检索并看到其有权限访问的文档否则会出现越权泄露。权限控制应贯穿 索引写入 与 在线检索 全链路且以 检索前过滤 为主不能依赖 LLM「自觉保密」。7.1 设计原则原则说明最小权限默认不可见仅显式授权的资源可进入检索结果检索前过滤在向量库 / 检索引擎侧用过滤条件缩小候选集避免无权 Chunk 进入 Prompt权限与内容同源ACL 来自业务系统HR、OA、文档库索引时写入变更时同步更新租户隔离多租户场景下tenant_id与业务权限一并作为硬过滤条件可审计记录用户身份、命中的文档 ID、过滤条件满足合规与追责7.2 权限模型常见维度用户身份User ID ├─ 所属组织 / 部门dept_id ├─ 角色roleadmin、employee、guest ├─ 用户组 / 岗位group_id └─ 租户tenant_idSaaS 多租户 文档 / Chunk 元数据 ├─ owner_id、dept_id ├─ visibilitypublic / internal / confidential ├─ allowed_roles、allowed_user_ids、allowed_dept_ids └─ 密级、项目 ID、数据域标签RBAC基于角色按角色映射可读文档集合实现简单适合层级清晰的组织。ABAC基于属性按用户属性 资源属性动态判断适合跨部门、项目制权限。文档级 vs Chunk 级权限通常挂在 文档 上索引时将同一 ACL 复制到每个 Chunk 的 metadata若同一文档内段落权限不同需按段落切分并分别打标。7.3 离线阶段索引时写入权限元数据在 向量化入库 时为每个 Chunk 附带权限相关字段与向量一并存储{ chunk_id:doc_1001_c003, text:..., tenant_id:t_001, doc_id:doc_1001, dept_id:[d_sales,d_hr], visibility:internal, allowed_roles:[employee,manager], allowed_user_ids:[], security_level:2, updated_at:2026-05-01T10:00:00Z }同步策略文档授权变更 → 更新源系统 ACL → 增量更新 向量库中对应 Chunk 的 metadata或删除后重新索引用户离职 / 角色调整 → 由 IAM 驱动无需改 Chunk 内容仅在线查询时用最新身份计算过滤条件7.4 在线阶段检索时强制过滤用户请求进入检索前由 鉴权服务 解析当前用户可访问范围生成 过滤表达式与向量检索一并下发用户提问 JWT / Session → 鉴权解析 user_id、tenant_id、roles、dept_ids → 生成 filter如 tenant_id X AND (dept_id IN [...] OR allowed_user_ids CONTAINS user_id) → 向量检索 Top-K仅在 filter 命中的子集内做 ANN → Rerank → Prompt → LLM向量库侧实现以常见能力为例方式适用场景Metadata Filter单库多文档按tenant_id、dept_id、role等字段过滤Milvus、Qdrant、Elasticsearch 等均支持分 Collection / 分 Index租户或事业部完全隔离物理隔离运维成本高但边界清晰多路检索 权限交集Hybrid 检索时Dense / Sparse 两路均带相同 filter避免一路绕过权限注意 过滤必须在 ANN 查询参数 中生效Pre-filter不能先 Top-K 再内存过滤否则无权但相似度高的 Chunk 可能先被召回并进入 Rerank存在泄露风险。7.5 典型实现架构┌─────────────┐ ┌──────────────┐ ┌─────────────────┐ │ SSO / IAM │────▶│ RAG API 网关 │────▶│ 权限解析服务 │ │ (OAuth/SAML)│ │ (校验 Token) │ │ (用户→filter) │ └─────────────┘ └──────┬───────┘ └────────┬────────┘ │ │ ▼ ▼ ┌──────────────┐ ┌──────────────┐ │ 检索服务 │◀───────│ ACL 缓存/DB │ │ filterTop-K │ │ (与 OA 同步) │ └──────┬───────┘ └──────────────┘ ▼ ┌──────────────┐ │ 向量数据库 │ │ chunkmetadata│ └──────────────┘网关层校验 Token拒绝未登录请求不向 LLM 传递其他用户的身份信息。权限解析服务将「用户 → 可访问 dept/role/doc 列表」转为检索 filter可对热点用户 ACL 做短时缓存但须设 TTL 并在权限变更时失效。文档源系统Confluence、SharePoint、自研 OA 等作为 权限真源通过 webhook 或定时任务同步到 RAG 索引。7.6 生成与展示层的安全补充环节做法Prompt仅注入已通过权限过滤的 Chunk系统提示中要求不得推测未提供文档中的敏感内容引用与下载返回的doc_id、链接需二次校验用户是否仍有权访问该文档拒答策略过滤后无召回时返回「未找到您有权限的相关资料」避免暗示存在无权文档日志脱敏审计日志记录 doc_id、chunk_id避免记录完整机密正文7.7 常见风险与对策风险对策先召回后过滤Top-K 含无权 Chunk使用向量库 带 filter 的查询 API或分租户独立索引元数据过期用户已失去权限仍能检索ACL 变更触发 metadata 更新在线侧用 IAM 实时身份 短 TTL 缓存多租户 filter 写错强制所有请求带tenant_id集成测试覆盖越权用例Prompt 注入诱导模型「忽略权限」权限不交给模型判断检索层硬过滤 输出层不返回未授权引用管理员误将机密库设为 public入库前校验visibility敏感库单独 Collection 审批流最佳实践小结先证明检索有效再优化生成索引与查询使用 一致的 Embedding 模型为 Chunk 保留 来源、页码、权限 等元数据检索时必须带权限 filter默认采用 Hybrid Top-K 轻量 Rerank 作为生产基线Prompt 中明确要求仅依据上下文回答不知道则说明文档或 ACL 变更 后需及时 更新索引元数据或 Re-index从简单链路起步再逐步加入改写、HyDE、多路检索等增强模块企业场景务必实现第 7 节数据权限并以越权检索用例纳入回归测试这里给大家精心整理了一份全面的AI大模型学习资源包括AI大模型全套学习路线图从入门到实战、精品AI大模型学习书籍手册、视频教程、实战学习、面试题等资料免费分享扫码免费领取全部内容1. 成长路线图学习规划要学习一门新的技术作为新手一定要先学习成长路线图方向不对努力白费。这里我们为新手和想要进一步提升的专业人士准备了一份详细的学习成长路线图和规划。可以说是最科学最系统的学习成长路线。2. 大模型经典PDF书籍书籍和学习文档资料是学习大模型过程中必不可少的我们精选了一系列深入探讨大模型技术的书籍和学习文档它们由领域内的顶尖专家撰写内容全面、深入、详尽为你学习大模型提供坚实的理论基础。书籍含电子版PDF3. 大模型视频教程对于很多自学或者没有基础的同学来说书籍这些纯文字类的学习教材会觉得比较晦涩难以理解因此我们提供了丰富的大模型视频教程以动态、形象的方式展示技术概念帮助你更快、更轻松地掌握核心知识。4. 2026行业报告行业分析主要包括对不同行业的现状、趋势、问题、机会等进行系统地调研和评估以了解哪些行业更适合引入大模型的技术和应用以及在哪些方面可以发挥大模型的优势。5. 大模型项目实战学以致用当你的理论知识积累到一定程度就需要通过项目实战在实际操作中检验和巩固你所学到的知识同时为你找工作和职业发展打下坚实的基础。6. 大模型面试题面试不仅是技术的较量更需要充分的准备。在你已经掌握了大模型技术之后就需要开始准备面试我们将提供精心整理的大模型面试题库涵盖当前面试中可能遇到的各种技术问题让你在面试中游刃有余。7. 资料领取全套内容免费抱走学 AI 不用再找第二份不管你是 0 基础想入门 AI 大模型还是有基础想冲刺大厂、了解行业趋势这份资料都能满足你现在只需按照提示操作就能免费领取扫码免费领取全部内容