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 实现可选加速。
相关
- 项目
- 项目
- 项目
- 项目
- 项目