Skip to content

v1.0.4 — 向量检索提速(sqlite-vec 轻量 ANN)

Choose a tag to compare

@17861102832 17861102832 released this 23 Aug 23:36
· 4 commits to main since this release

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]"