Discover and explore top open-source AI tools and projects—updated daily.
nmslibFast similarity search for non-metric spaces
Top 13.5% on SourcePulse
Summary
NMSLIB (Non-Metric Space Library) provides an efficient, cross-platform toolkit for similarity search and evaluation of k-NN methods, with a strong focus on generic and non-metric spaces. It enables developers and researchers to implement and benchmark advanced search algorithms beyond traditional metric constraints, offering significant performance benefits and integration capabilities for applications like Amazon Elasticsearch Service.
How It Works
The library is designed for extensibility, allowing the addition of new search methods and distance functions. Its core strength lies in approximate search for non-metric spaces, featuring implementations of state-of-the-art algorithms such as Hierarchical Navigable Small World (HNSW) graphs, VP-trees, Neighborhood APProximation index (NAPP), and inverted files. NMSLIB offers direct C++ and Python bindings, alongside an optional query server built with Apache Thrift for broader language interoperability. The core library boasts no third-party dependencies.
Quick Start & Requirements
Documentation, including Python bindings and query server usage, is available via a link mentioned in the README (specific URL not provided). The core library has no third-party dependencies. A standalone, header-only HNSW implementation (HNSWLib) is also available. Specific installation commands, Python version requirements, or hardware prerequisites are not detailed in the provided text.
Highlighted Details
Maintenance & Community
General inquiries can be directed to the Gitter chat, while bugs and feature requests should be filed on the GitHub issues page. The project lists multiple authors and contributors. Specific community channels (e.g., Discord, Slack) or a public roadmap are not mentioned.
Licensing & Compatibility
The library is primarily licensed under the Apache License Version 2.0 (http://www.apache.org/licenses/). However, older versions or embedded components may carry different licenses, such as the GNU General Public License (GNU GPL) for LSHKIT (http://www.gnu.org/licenses/), which could impose copyleft restrictions. Compatibility for commercial use should verify reliance on specific components and their associated licenses.
Limitations & Caveats
The provided README does not detail specific limitations, known bugs, or unsupported platforms. The focus is on the library's capabilities and broad applicability.
5 days ago
Inactive
neondatabase
timescale
nmslib
pgvector
facebookresearch