microsoft/SPTAG

A distributed approximate nearest neighborhood search (ANN) library which provides a high quality vector index build, search and distributed online serving toolkits for large scale vector search scenario.

解决的问题

SPTAG 专为大规模向量近似最近邻(ANN)搜索而设计。它允许用户基于 L2 或余弦距离,高效地在海量数据集中找到与给定查询向量最相似的向量。

工作原理

该库结合空间分割树和相对邻域图(RNG)来优化搜索。提供两种主要方法:

  • SPTAG-KDT:使用 kd 树和 RNG,索引构建过程更高效。
  • SPTAG-BKT:使用平衡 k-均值树和 RNG,对极高维数据提供更好的搜索精度。

搜索过程首先使用空间分割树找到初始种子向量,然后在 RNG 内进行迭代搜索以优化结果。

适用人群

需要在十亿规模数据集上进行快速、可扩展的 ANN 搜索的开发者和研究人员,尤其适用于高维向量数据集。

特色亮点

  • 最新更新:支持在线向量插入和删除。
  • 分布式服务:可跨多台机器提供搜索服务。
  • 详细距离度量:支持 L2 和余弦距离。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目