独立课程
在这里学习完整课程并检验你的理解。
RAG Formation 的 16 节课程内容已完成。本页包含完整课程内容、本地参考资料和可直接在浏览器中完成的即时练习。
本课的具体收获
你会完成一张经得起证伪的检索实验卡:假设、指标、基线、回归检查和终止条件都写清楚。
观看讲解视频
1 · 核心技能
从 q24、q46、q52 或 q63 中选一道,针对可能修复问题的查询归一化,写出一个单一假设——这是你在第 2 节里真正能对这套演示环境实际测试的技巧。重排序和去重放在下面单独介绍,而且比通常更坦诚:它们在这套代码库里都是真实存在的代码,但都没有按名字暗示的方式运行,这个落差本身就值得先弄清楚,再决定要不要在生产环境里信任它们。
- 查询归一化:把一个用户问题转换成几种可检索的形式——原始问题、其中隐藏的文档编号、展开的缩略词,或翻译后的术语。
- 重排序:这套代码库里确实有一个真正的重排序服务(
aperag/llm/rerank/rerank_service.py、aperag/flow/runners/rerank.py)——它甚至编码了一条有文档记录的兜底策略:图谱结果被认为“质量更好”,应该优先排在前面。但这套演示环境/api/v1/search真正走的检索路径(qa_service.py、search.py)从来没有调用过它。今天的检索只给你一轮粗略的候选结果,仅此而已——之后没有任何重排序步骤。在生产环境里信任重排序之前,值得先核实:这条兜底策略是否符合你自己的优先级,重排序调用会增加多少延迟,如果重排序调用本身失败了,答案会变成什么样? - 去重:也比名字暗示的更有限。今天,去重只作用于展示给用户的引用列表,按文件名匹配。真正放进 LLM 提示词上下文里的片段文本从未被去重——同一份文档里两个互相重叠的片段,即使最终屏幕上只显示一条引用,也可能同时占用你的证据预算。
2 · 运行证据闭环
cd demo
python3 eval.py run --mode retrieval --workspace meridian_demo --category reference_lookup --tag lesson-08-baseline
写下你预期看到的来源、基线是否真的找到了它、尝试的一个查询变体,以及之后同一个指标如何变化。
提高 top-k 只会用更多噪声掩盖检索失败,并不能告诉你真正哪里出了问题。
3 · 决策工作表
| 基线证据 | 一个假设/改动 | 指标 | 回归检查 | 有边界的结论 |
|---|---|---|---|---|
| _____ | _____ | _____ | _____ | _____ |
4 · 检索练习
问题:q24 中直接出现了准确的程序编号。首先值得测试什么?
企业场景连接
基线已经说明问题:检索并集很高,但多跳答案仍然较弱。一次严格受控的查询实验可以针对这个确切的失败模式,不需要动整条流水线。
5 · 交付物与下一步
- 保留命令输出或报告的副本。
- 填写决策工作表。
- 写下一个失败案例以及下一步要验证的内容。
交付物是一张经得起证伪的检索实验卡:假设、指标、基线、回归检查和终止条件都写清楚。
下一步:第 9 课将讲上下文组装和证据预算。
如果对证据、指标、失败案例,或想尝试的下一步有疑问,尽管继续问我。 这门课我就是你的老师。