直接答案:RAG 的第一步不是接大模型,而是证明检索能找到正确证据。可先用 TF-IDF 与余弦相似度建立最小原型,保留文档 ID、片段和分数;低于阈值时拒答,再用固定问题集计算命中率。

本文面向需要做技术选型或落地验收的中文读者。所有会随版本变化的接口、价格、硬件支持和功能可用性,都应在实施当天回到官方页面复核;本文复核日期为 2026-09-09。
先跑最小样例:把环境和输入固定
不用黑盒向量服务,先跑通可解释的文档切块、检索、引用和拒答原型。开始前把业务目标写成可验证条件,避免把“能运行”“返回了结果”误当成质量达标。
| 序号 | 决策问题 | 验收方式 |
|---|---|---|
| 1 | 文档版本与权限能否追踪 | 记录证据、负责人和通过条件 |
| 2 | 切块是否保留标题和来源 | 记录证据、负责人和通过条件 |
| 3 | 检索是否返回证据与分数 | 记录证据、负责人和通过条件 |
| 4 | 无证据时能否拒答 | 记录证据、负责人和通过条件 |
核心原理与适用边界
- RAG 将检索证据加入生成上下文,但生成仍可能误读证据。
- TF-IDF 是透明基线,适合先发现数据和评测问题。
- 检索评测与答案评测应分开保存。
这些原则只说明技术机制,不代表任何特定产品在你的数据、硬件或组织流程中必然更快、更准或更省。若官方材料没有披露某项实现,应明确标为未知,而不是根据营销名称推断。
可复现步骤:代码、输出和失败条件
- 第 1 步:准备带 doc_id 和来源的小语料
- 第 2 步:按段落切块并保留元数据
- 第 3 步:拟合 TF-IDF 并计算余弦相似度
- 第 4 步:返回 top-k 片段与分数
- 第 5 步:低于阈值时拒答并显示来源
- 第 6 步:用固定问题集记录命中、漏召与错召
每一步都要保存输入版本、配置、输出和验收结论。遇到失败先缩小范围并保留原始证据,不要为了让演示通过而修改测试口径。
建议保存的验收记录
| 记录项 | 最低要求 | 失败时处理 |
|---|---|---|
| 范围与版本 | 代码、数据、模型、依赖、硬件和日期可追踪 | 冻结发布,补齐版本后重跑 |
| 质量证据 | 与固定基线按相同输入和指标比较 | 定位数据、提示、模型或系统层原因 |
| 安全与权限 | 最小权限、敏感数据处理、失败模式均有验证 | 撤销权限或回滚到安全版本 |
| 发布与恢复 | 灰度范围、监控阈值、负责人和回滚命令明确 | 停止扩量并执行已演练的回滚 |
常见风险与失败模式
- 切块过短会丢上下文,过长会稀释关键词
- 只评答案会掩盖检索错误
- 文档提示注入可能污染生成
- 权限过滤必须发生在返回片段前
风险较高的业务应增加人工复核和独立安全测试。本文不把公开资料整理写成编辑部实测,也不提供无法复现的速度、准确率或收益数字。
常见问题
只要官方示例能运行就可以上线吗?
不可以。官方示例用于说明能力或接口,仍需用你的数据、权限、负载和失败场景验证,并保存可以回放的结果。
为什么必须保留基线?
没有相同输入和相同指标的基线,就无法判断新方案是否真正改善,也无法在故障时确认回滚是否恢复。
版本变化后需要全部重做吗?
至少应重跑与变化范围相关的确定性检查、核心质量集、安全边界和恢复演练;重大模型、框架或数据变更应做完整回归。
下一步与一手来源
可继续阅读:RAG 原理与评测、企业知识库权限与引用、模型评测与回滚。这些内链分别帮助补齐模型路由、对话系统和 Agent 治理边界,不替代本文缺失内容。
一手与原始资料:RAG 原始论文、TfidfVectorizer、cosine_similarity、Azure RAG 概览、OWASP Prompt Injection。访问与事实复核日期:2026-09-09。
