PATH 01/LESSON 08/20 分钟
RAG 是一条证据管线
拆开切分、召回、重排、生成与引用验证。
课程全目录 · 选择章节
本课学习目标
- • 切分 — 建立可检索单元
- • 召回 — 找出候选证据
- • 重排 — 重新判断相关性
- • 验证 — 核对答案与引用
完成路径
阅读概念与案例 → 完成动手任务 → 勾选实践检查 → 回答检查点 → 保存完成记录。练习由你自行检查,不会假装成自动代码评分。
01 / 核心概念
RAG 的价值不是把更多文本塞给模型,而是用可检查的过程选择相关证据。每一步都可能引入错误。
高质量系统会保存查询、候选片段、重排分数和最终引用,从而知道错误发生在哪一层。
02 / 心智模型
切分
建立可检索单元
召回
找出候选证据
重排
重新判断相关性
验证
核对答案与引用
03 / 代码骨架
TYPESCRIPT / CONCEPT
const evidence = await retrieve(query, { topK: 12 });
const ranked = await rerank(query, evidence);
const answer = await generate({ query, context: ranked.slice(0, 4) });
return validateCitations(answer, ranked);这是解释结构的代码骨架,外部函数与数据需要在实际项目中实现。
04 / 贯穿案例
放进真实情境里看
知识库同时有 v1 与 v2 的发布说明。问题明确询问 v2,但语义相似度最高的片段来自旧版。直接交给模型会得到流畅却过期的答案。
- 01
检索前限定范围
给每个片段保存文档 ID、版本、更新时间和章节;从问题中提取版本,先过滤,再做语义召回。
- 02
检查候选是否足够
看候选覆盖的是问题的哪一部分。重排只改善候选顺序,无法找回召回阶段遗漏的证据。
- 03
把引用当作约束
答案里的每个关键事实都要指向具体片段;验证引用是否存在、版本是否匹配、片段是否真正支持该句。
05 / 动手做
用自己的产物检验理解
为“新版是否支持批量导出?”设计三条文档片段:一条 v1 肯定、一条 v2 否定、一条无关。写出检索过滤规则和最终回答的依据。
完成时检查
- 每个片段带版本和来源 ID
- 旧版片段不会覆盖新版结论
- 证据不足时允许回答“不确定”
自动保存在当前浏览器,不会同步到账户。
06 / 检查点