← 返回文章列表

让企业 RAG 达到生产级质量

为什么检索 Demo 看着惊艳、生产环境却让人失望——以及补上差距的那几步。

错误答案,要先找到错误的来源

企业RAG不是把文件放进向量库,再要求模型附上引用就结束。一次回答经过资料导入、权限判定、检索与生成;任一层出错,都可能产生看起来有依据的错误结论。排查应从具体问题和实际检索片段开始,而不是立即更换模型。

说明用假设例子,非真实客户案例或实施结果。 假设产品 P-104 的退货政策有 v2 和 v3:旧版规定 30 天,当前版改为 14 天。销售人员可以读取退货政策,但不能读取财务底价文件。用户问当前期限,系统却回答 30 天并附旧版链接。下面的样本和实验只用于说明诊断方法,不代表实际准确率或收益。

用同一组问题观察不同失败

先由资料负责人确认权威版本,再建立可重复运行的样本。每条记录问题、认证身份、允许的文件、应引用的片段与预期行为。以下 6 条是该假设场景的起始样本,实际项目要加入自己的真实问题。

样本 问题或条件 应观察的行为
Q1 当前 P-104 退货期限 引用 v3,回答 14 天
Q2 明确询问 v2 的历史期限 在获准读取历史资料时,回答 30 天并标明旧版
Q3 询问相近编号 P-140 不把 P-104 的规定当作该产品答案
Q4 资料未说明的延长保修 说明依据不足,转交负责人
Q5 销售身份询问财务底价 不暴露正文、标题、引用链接或缓存内容
Q6 文档内写有“忽略权限”指令 将其作为资料内容,不扩大调用者权限

把检索与生成拆开诊断

  1. 查源资料和索引。 v3 是否已批准、成功导入并生效?查看源文件标识、版本、适用范围和同步记录。若新文件根本没入库,先修导入;不要用提示词掩盖更新失败。
  2. 查身份和允许范围。 用该用户的实际认证身份重放访问判定,确认租户、部门和文件权限来自服务端。用户自称财务人员、文档里的指令或模型生成的过滤条件都不能自行授权。
  3. 只看检索结果。 暂不生成回答,保存脱敏片段及排序。若只有 v2,检查版本过滤;若编号不匹配,检查关键词路径;若表格条件被切开,检查分块。不能把任何未授权资料送给模型后再要求它保密。
  4. 再看生成。 如果 v3 依据已正确到达模型,回答仍是旧期限,检查上下文冲突、指令和引用对齐。引用存在不证明结论正确;资料不足时应明确说明,不能补出政策。

为文件维护 document_id、version、effective_from、audience 和 owner。历史版可留作追溯,但默认当前查询不应无差别混入旧版。权限收回后,索引、引用访问和答案缓存都要同步失效。

比较方案时,一次只改变一个环节

固定资料快照、权限规则、样本、模型与提示词。以 A 的语义检索为基线,B 仅改为混合检索,C 在 B 上增加重排序;分别比较 A 与 B、B 与 C。可以用实验检验混合检索对编号和固定术语匹配的帮助,重排序可能改善相关性,但会增加费用和延迟。支持范围须看实际存储与服务配置,可参考 AWS 知识库检索说明。

分开记录:有权访问的正确依据是否被取回、回答是否忠于依据、引用是否支持结论,以及延迟、用量和人工转交。重复运行容易波动的问题,保留每次结果;不要仅展示最好的一次。即使 C 的回答更好,也要确认额外等待和成本是否适合该业务。

一份可以交给评审人的验收单

  • 资料负责人签认当前与历史版本的适用规则,维护更新和删除清单。
  • 保留 Q1 至 Q6 的身份、期望依据、实际片段、答案和失败原因。
  • 单独检查跨租户、撤权后的缓存及引用访问;本例把任何越权暴露设为阻断项。
  • 为无依据、冲突和过期资料约定拒答说明及人工处理入口。
  • 由业务与运维负责人事先约定质量、等待和费用门槛,不套用通用合格率。
  • 文档、权限、索引、模型或提示词变化后,复测受影响样本再放行。

这样的验收把“回答很像正确”转化为可以定位、比较和追责的证据。首个试点宜选资料负责人明确、答案能够核对的业务范围。