Skip to content

5.5 RAG·实战案例集

把前四节的招式(进阶检索、向量库、评估防幻觉、文档处理)落到三个真实场景。每个案例给:场景 → 架构 → 关键决策 → 落地步骤


案例一:企业知识库客服

场景:电商/SaaS 客服,回答退款、会员、使用等政策性问题。要求准、可溯源、不能编。

架构

政策文档/FAQ ─建库─▶ 按结构分块 + 加上下文 → 百炼Embedding → pgvector

用户问题 → 查询改写(5.1) → 向量检索 + BM25(Hybrid) → Rerank → top3
        → "无依据不答+强制引用"Prompt → DeepSeek → 带[来源]的回答
        → 忠实度校验(5.3) 不过则兜底转人工

关键决策

  • 分块按 FAQ 的"一问一答"或政策的条目切,天然是完整意思单元
  • 必须强制引用 + 无依据不答(客服编答案是事故)
  • 检索不到 → 不硬答,回"这个问题我帮您转人工"
  • 建评估集(真实客服历史问题),每次改动跑回归

落地步骤

  1. 收集 FAQ/政策 → 按条目分块、加上下文(5.4)→ 入 pgvector(5.2
  2. 检索加查询改写 + Hybrid + Rerank(5.1
  3. 生成用强制引用 Prompt(5.3
  4. 加忠实度 Guardrail + 转人工兜底
  5. 用历史问题建评估集,盯 Recall@k 和忠实度 PASS 率

案例二:代码库问答

场景:新人问"支付逻辑在哪""怎么加一个接口",让 AI 基于本仓库代码回答。

架构

代码仓库 ─建库─▶ 按函数/类/文件切块 + 元数据(路径/语言/符号名)
                → Embedding → 向量库
查询 → 检索(代码+注释+文档混合) → 拼上文件路径 → DeepSeek 解释/定位

关键决策

  • 分块按代码结构切(函数、类、文件),别按固定字符数从函数中间切断
  • 元数据带上文件路径、函数名、语言——回答能精确指到 src/pay/refund.ts:42
  • README、注释、设计文档也一起入库("为什么这么写"往往在文档里)
  • 大改动场景,结合 4.x Claude Code + MCP 直接读真实文件,比纯 RAG 更准(RAG 适合"定位/概览",精确改代码交给能读文件的 Agent)

落地步骤

  1. 遍历仓库,按文件/函数切块(可借助语法解析),带路径元数据入库
  2. 检索时把代码块和相关文档一起召回
  3. Prompt 里要求"指出具体文件和行号,不确定就说去看哪个文件"
  4. 增量更新:CI 里代码变更后只重嵌入改动的文件

案例三:合同 / 长文档助手

场景:法务/业务问"这份合同的违约责任是什么""付款周期多长",文档是几十页带条款编号和表格的 PDF。

架构

长文档PDF ─建库─▶ 抽取(文字PDF直抽/扫描件OCR) → 清洗页眉页脚
              → 父文档分块(小块检索/大块返回, 5.1) + 页码元数据 → 向量库
查询 → 小块精准检索 → 取回所属大块(完整条款) → DeepSeek → 引用条款号+页码

关键决策

  • 父文档检索最关键:用小块(单条条款)检索保精准,返回整节给模型保上下文
  • 表格转 Markdown 再入库(付款周期、金额常在表里,5.4
  • 元数据带页码 + 条款号,回答可溯源到"第 8 条,第 5 页"
  • 扫描件合同走多模态 OCR;注意 OCR 可能错字,关键数字让模型标注"建议人工核对原文"

落地步骤

  1. 抽取 + 清洗 + 父文档分块 + 表格转 Markdown
  2. 入库带页码/条款号元数据
  3. 检索用小块、返回父块;Prompt 要求引用条款号和页码
  4. 关键结论提示用户"以原件为准",降低法律风险

三个案例的共性与避坑

维度经验
分块按内容自然结构切(FAQ条目/函数/合同条款),不是定长
引用都要可溯源(来源/路径行号/页码条款号),既防幻觉又建立信任
评估都要建评估集跑回归,别凭感觉
边界都要处理**"检索不到"**:老实说没有 / 转人工 / 提示看原文,绝不硬编
选型RAG 擅长"基于资料回答";要精确操作(改代码、调真实数据)该上 MCP/Agent

⚠️ 最常见的失败不是模型不行,而是:分块乱切、没加引用、没评估、检索不到时硬编。把这四点做好,RAG 的体验就上一个台阶。


📌 关键结论

  1. 知识库客服:结构化分块 + Hybrid + 强制引用 + 检索不到转人工 + 回归评估
  2. 代码库问答:按函数/文件切、带路径行号元数据;精确改代码交给能读文件的 Agent
  3. 合同长文档:父文档检索 + 表格转 Markdown + 页码条款号引用 + 提示以原件为准
  4. 四条通用铁律:按结构分块、强制可溯源引用、建评估集、处理好"检索不到"

下一节:5.17 RAG·GraphRAG 与 Agentic RAG

写给自己的 AI 学习地图