nmslib/hnswlib
Header-only C++/python library for fast approximate nearest neighbors
What it solves
hnswlib 是 Hierarchical Navigable Small World (HNSW) 算法的一种快速、轻量级的实现,用于近似最近邻 (ANN) 搜索。它允许用户根据 L2、内积 (Inner Product) 或余弦距离 (Cosine distance) 等距离度量标准,在大型数据集中高效地寻找最接近的向量,从而避免了缓慢的穷举搜索。
How it works
该库实现了 HNSW,这是一种基于图的最近邻搜索方法。它将向量组织成图的分层结构,从而实现对最近点的快速导航。该库提供了一个仅限头文件的 C++ 实现,并带有 Python 绑定,支持增量式索引构建、元素更新和删除。
Who it’s for
它专为需要高性能向量搜索的开发者设计,例如构建推荐系统、图像检索或 RAG (Retrieval-Augmented Generation) 流程的开发者,这些开发者需要一个依赖极少的轻量级工具。
Highlights
- Lightweight Design: 仅限头文件的 C++ 11 实现,无外部依赖。
- Flexible Interfaces: 原生支持 C++ 和 Python,并有外部社区支持 Java 和 R。
- Dynamic Indexing: 完全支持增量式构建、更新现有元素以及标记元素进行删除。
- Customizable: 支持在 C++ 中使用用户自定义的距离度量标准。
- Efficiency: 与 nmslib 等其他实现相比,内存占用更低,构建速度更快。
相关
- 项目
- 项目
- 项目
- 项目