W4 代码练习打卡清单
RAG 全链路 · 文档 → 切分 → 入库 → 检索 → 生成 · 周一至周日
规则:每个练习文件先自己读完讲解、再运行末尾自测,全部 PASS 才勾选对应任务。勾选状态保存在本浏览器。
配套目录:agent-learning-w4/预计每日 5–7 小时周日复盘 2–3 小时交付:rag-v1
本周验收(周日)
rag-v1 可问答、答案带 [来源:xxx] 引用、域外问题正确拒答
- 能报出版本规模:文档数 / chunk 数 / 平均长度 / overlap / embedding 维度
- 能口述双塔 Embedding 原理与维度取舍,三种切分何时选哪种
- 收集 ≥10 个 badcase 并按 切分 / 检索 / 生成 归因
周一Day1 · RAG 两阶段复盘 + 文档加载与清洗纯本地day1_load.py
验收标准
- 三种格式能读出文本,页脚/重复行被清除
- 表格保留结构(表头:单元格),不丢"列=属性"
重难点
- 清洗的顺序:先压空白,再按模式去页脚/重复行
- HTML 剥标签用正则只是演示,正式用 BeautifulSoup
周二Day2 · 切分策略实验 + overlap + metadata纯本地day2_chunkers.py
验收标准
- 三种策略输出清晰可对比;Heading 带章节路径
- 能口述"用跨边界问题验证 overlap,而非盲目加大"
重难点
- 切分本质是"在语义完整边界切",不是一律按长度硬切
- metadata=检索过滤与增量更新@W6 的索引元信息
周三Day3 · Embedding 原理 + 跑通模型离线兜底day3_embedding.py
验收标准
- 向量维度与 dim 一致、模长≈1(归一化通过)
- 真实服务下"年假"相关对余弦 > 不相关对
重难点
- 双塔结构 + 对比损失 = Embedding 的"语义相近"来源
- 不归一化,点积被"长度"主导而非"方向"
周四Day4 · 向量库写入/检索/过滤离线兜底day4_vectorstore.py
验收标准
- 常规检索能召回 FAQ/手册相关条款
- 过滤/覆盖/删除 三操作语义正确、count 校验通过
重难点
- 先懂算法再用工具——内存库与 Qdrant 接口一一对应
- where 过滤=多租户/按品类隔离的地基
周五Day5 · 检索问答闭环生成需 APIday5_rag_qa.py
验收标准
- 库内问题=答案+引用;域外问题="未检索到确凿依据"
- 阈值过滤避免把弱相关 chunk 当依据喂给模型
重难点
- 引用=可信度+可追溯,是 RAG 相对纯 LLM 的核心价值
- 拒答是"防幻觉"第一道闸,W7 可靠性的雏形
周日Day6 · 综合 rag-v1 + badcase 归因可离线看检索day6_rag_v1.py
验收标准
rag-v1 可问答、带引用、域外拒答- 每个 badcase 能指出归属层与修复方向
重难点
- badcase 归因是你面试"讲项目"的第一手素材
- 版本规模数字 = 学习曲线与工程量的量化证据