v1.0.4 — 向量检索提速(sqlite-vec 轻量 ANN)
v1.0.4 — 向量大规模检索提速:sqlite-vec 轻量 ANN
- 混合检索策略:vector_memory.py 升级为"small 精确 / large ANN"双路径
- 规模 < ANN_MIN_COUNT(默认 2000)→ 全表精确余弦(正确性优先)
- 规模 ≥ 阈值且 sqlite-vec 可用 → vec0 最近邻预筛(k=limit*3+5)+ 完整 embedding 精确重排(既提速又保准)
- sqlite-vec 未安装 → 自动回退纯精确,完全向后兼容
- 可选依赖:新增 wanyimem[ann](sqlite-vec>=0.1.6),并入 wanyimem[all]
- 正确性保障:memory_embeddings 仍是权威真值表;vec0 只是影子索引,换模型/维度变化自动重建
- 测试:新增 tests/test_vector_ann.py(3 用例,无需模型/网络),既有 13 个冒烟用例全通过(16 passed)
回应社区对"向量全表载入内存暴力检索"的顾虑:默认小规模精确、大规模 ANN 预筛+精确重排,兼顾召回质量与扩展性。
安装:pip install "wanyimem[all]"