antgroup/vsag

vsag is a vector indexing library used for similarity search.

解决的问题

VSAG 是一个专为大规模向量集合高效相似性搜索设计的向量索引库,特别适用于超出系统内存的数据。它通过根据数据规模和向量维度自动生成参数,简化了近似最近邻(ANN)搜索的实现,无需开发者深入理解底层算法。

工作原理

该库使用 C++ 编写,实现了多种专用索引算法,以应对不同类型的数据和搜索需求:

  • SINDI:专为稀疏向量搜索优化的高性能索引。
  • HGraph:基于图的索引,适用于需要高召回率和低延迟的场景。
  • IVF:倒排文件索引,针对批量查询和大规模搜索进行了优化。
  • LazyHGraph:一种自适应索引,小数据集时从暴力搜索开始,随着数据增长自动转换为 HGraph。

为减少内存占用,支持多种量化方法,包括乘积量化(PQ)、标量量化(SQ4/SQ8)和 RaBitQ。针对 x86_64 和 ARM 架构进行了优化,利用 AVX-512 和 Neon 等指令集。

适用人群

需要高性能、跨平台索引引擎,并支持 C++、Python(通过 pyvsag)和 Node.js/TypeScript 的开发者,用于构建向量数据库或相似性搜索系统。

主要亮点

  • 多语言支持:原生 C++ 核心,提供官方 Python 和 TypeScript 绑定。
  • 高性能稀疏搜索:SINDI 算法在每秒查询数(QPS)上显著优于以往的最先进解决方案。
  • 内存高效:支持多种量化级别,并为稀疏向量(SINDI_V2)提供基于磁盘的 I/O。
  • 硬件优化:利用 CPU 特定优化(SSE、AVX、Neon、SVE),并可通过 Intel-MKL 或 OpenBLAS 实现可选加速。

相关

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