向量检索版本契约教学项目
场景
用固定示例向量模拟双塔产物,遍历全部四个物品并按余弦相似度精确排序;模型/索引版本错配时拒绝请求。代码使用 [MOCK] 小数据,没有训练双塔,也没有实现 ANN 索引或原子切换。
运行与验收
python3 templates/two-tower-ann/app.py --user u1 --limit 3
python3 templates/two-tower-ann/app.py --inject-version-mismatch # 预期拒绝并退出 2
验收:正样本排在检索前列;负样本不含正样本;模型/索引或请求/索引版本不匹配时拒绝。生产替换需加入真实训练、批量导出、ANN 基准、原子灰度切换、指标和回滚。
可观测指标
Recall@K、索引构建耗时、查询 P99、QPS、内存、版本拒绝数。
扩展任务
加入困难负样本、量化索引及新旧版本双读对比。
本书依据
《第十八章-向量检索系统.pdf》,PDF 第 2 页区分精确遍历与 ANN 近似候选检索。此模板实现的是前者;版本拒绝属于教学契约,不代表书中完整的上线流程。完整论断请核对已发布 PDF。