向量检索版本契约教学项目

场景

用固定示例向量模拟双塔产物,遍历全部四个物品并按余弦相似度精确排序;模型/索引版本错配时拒绝请求。代码使用 [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。