awesome-repositories.com
Blog
awesome-repositories.com

Découvrez les meilleurs dépôts open-source grâce à notre recherche par IA.

ExplorerRecherches sélectionnéesAlternatives open sourceLogiciels auto-hébergésBlogPlan du site
ProjetÀ proposNotre méthodologiePresseServeur MCP
Mentions légalesConfidentialitéConditions d'utilisation
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
nmslib avatar

nmslib/hnswlib

0
View on GitHub↗
5,253 stars·831 forks·C++·Apache-2.0·1 vuegithub.com/nmslib/hnswlib↗

Hnswlib

hnswlib est une bibliothèque C++ header-only et un moteur d'indexation vectorielle conçu pour la recherche approximative de plus proches voisins en haute dimension. Il organise de grandes collections d'embeddings dans une structure de graphe interrogeable pour permettre des requêtes de proximité rapides et des calculs de distance.

Le système utilise des graphes Hierarchical Navigable Small World pour obtenir une recherche de similarité vectorielle rapide. Il se distingue en permettant la définition de métriques de distance et de fonctions de similarité personnalisées pour adapter les calculs à des exigences de données spécifiques.

Le moteur couvre tout le cycle de vie de l'indexation, incluant la construction incrémentale de l'index et la gestion des points de données via des ajouts et des suppressions d'éléments. Les capacités de requête incluent à la fois la recherche approximative et exacte des plus proches voisins, complétées par un filtrage de recherche booléen pour exclure des candidats basés sur des étiquettes d'éléments.

La bibliothèque prend en charge la persistance de l'index via la sérialisation de fichiers binaires et fournit des configurations pour l'exécution parallèle afin de distribuer les tâches de requête et d'indexation sur plusieurs cœurs CPU.

Features

  • Hierarchical Proximity Graphs - Utilizes Hierarchical Navigable Small World graphs to achieve logarithmic search complexity through coarse-to-fine navigation.
  • Vector Indexing - Implements a high-performance indexing engine specifically designed for high-dimensional vector data and similarity search.
  • Vector Similarity Search - Implements algorithms and data structures for performing similarity search on high-dimensional vector embeddings.
  • Approximate Nearest Neighbor Search - Utilizes Hierarchical Navigable Small World graphs to trade absolute precision for significantly faster proximity lookups.
  • Graph - Constructs hierarchical proximity graphs by configuring link density to balance memory usage and retrieval recall.
  • Vector Indexing Engines - Acts as a high-performance engine for organizing vectors to enable rapid proximity queries and distance calculations.
  • HNSW Indexes - Provides a high-performance implementation of Hierarchical Navigable Small World (HNSW) indexes for approximate nearest neighbor search.
  • Incremental Vector Sync - Supports incremental index management by adding or removing elements without requiring a full rebuild.
  • Nearest Neighbor Searches - Implements algorithms for finding the closest vectors in high-dimensional space based on distance calculations.
  • Vector Distance Metrics - Provides the mathematical framework for implementing specialized similarity functions between high-dimensional vectors.
  • Customizable Distance Metrics - Allows the definition of custom similarity functions to adapt distance calculations to specific data requirements.
  • Greedy Graph Search - Implements greedy search traversal to efficiently navigate the graph layers toward the closest vector.
  • Header-only Libraries - Distributed as a header-only C++ library to enable compiler inlining and simplify integration.
  • Search Index Deletions - Allows for the removal of specific data points from the search index via unique identifiers.
  • Incremental Indexing Engines - Supports adding and updating vectors within the index without necessitating a full rebuild of the graph structure.
  • Index Persistence Utilities - Enables saving and loading the current index state to binary files for persistence across sessions.
  • Search Index Management - Includes tools for managing the index lifecycle, including marking elements as deleted to reclaim memory.
  • Dynamic Index Updating - Provides mechanisms to update index content and replace elements to ensure the dataset remains current.
  • Vector Databases - Provides the core indexing and retrieval layer necessary for building high-performance vector databases.
  • Multi-threaded Execution - Distributes independent search and indexing requests across multiple CPU cores to increase throughput.
  • Template-Based Metrics - Uses C++ template polymorphism to inject custom similarity functions without the overhead of virtual function calls.
  • AI & Machine Learning - Fast approximate nearest neighbors library
  • Machine Learning - Fast approximate nearest neighbor search library.

Historique des stars

Graphique de l'historique des stars pour nmslib/hnswlibGraphique de l'historique des stars pour nmslib/hnswlib

Recherche par IA

Explorez plus de dépôts awesome

Décrivez vos besoins en langage naturel — l'IA classe des milliers de projets open source sélectionnés par pertinence.

Start searching with AI

Questions fréquentes

Que fait nmslib/hnswlib ?

hnswlib est une bibliothèque C++ header-only et un moteur d'indexation vectorielle conçu pour la recherche approximative de plus proches voisins en haute dimension. Il organise de grandes collections d'embeddings dans une structure de graphe interrogeable pour permettre des requêtes de proximité rapides et des calculs de distance.

Quelles sont les fonctionnalités principales de nmslib/hnswlib ?

Les fonctionnalités principales de nmslib/hnswlib sont : Hierarchical Proximity Graphs, Vector Indexing, Vector Similarity Search, Approximate Nearest Neighbor Search, Graph, Vector Indexing Engines, HNSW Indexes, Incremental Vector Sync.

Quelles sont les alternatives open-source à nmslib/hnswlib ?

Les alternatives open-source à nmslib/hnswlib incluent : nmslib/hnsw — This project is a C++ vector similarity engine and implementation of the Hierarchical Navigable Small World algorithm.… unum-cloud/usearch — USearch is a high-performance vector similarity search engine and approximate nearest neighbor index designed for… lancedb/lancedb — LanceDB is a vector database and columnar data store designed to function as a versioned dataset manager and vector… alibaba/zvec — zvec is an embedded vector database engine and indexing library designed for high-dimensional similarity search. It… microsoft/sptag — SPTAG is a vector approximate nearest neighbor search library and distributed vector search engine. It provides a… tporadowski/redis — Redis is a high-performance in-memory key-value store that functions as a distributed cache, message broker, and NoSQL…

Alternatives open source à Hnswlib

Projets open source similaires, classés selon le nombre de fonctionnalités partagées avec Hnswlib.
  • nmslib/hnswAvatar de nmslib

    nmslib/hnsw

    5,257Voir sur GitHub↗

    This project is a C++ vector similarity engine and implementation of the Hierarchical Navigable Small World algorithm. It provides a header-only library for performing approximate nearest neighbor searches in high-dimensional spaces, alongside Python bindings that expose these indexing and search capabilities to data science environments. The engine enables real-time embedding retrieval and high-dimensional similarity search using a multi-layered graph structure to balance search speed and accuracy. It supports custom distance metrics to calculate similarity between vectors in various mathema

    C++
    Voir sur GitHub↗5,257
  • unum-cloud/usearchAvatar de unum-cloud

    unum-cloud/USearch

    3,888Voir sur GitHub↗

    USearch is a high-performance vector similarity search engine and approximate nearest neighbor index designed for dense embeddings. It functions as a low-level vector database core and high-dimensional vector indexer, providing the primitives necessary to store and retrieve vectors across massive datasets. The engine distinguishes itself through hardware-level SIMD acceleration for distance kernels and a proximity-graph indexing system that enables fast retrieval across billions of vectors. It supports multi-precision vector quantization to balance memory usage and accuracy, and utilizes memo

    C++approximate-nearest-neighbor-searchclusteringdatabase
    Voir sur GitHub↗3,888
  • lancedb/lancedbAvatar de lancedb

    lancedb/lancedb

    9,031Voir sur GitHub↗

    LanceDB is a vector database and columnar data store designed to function as a versioned dataset manager and vector search engine. It serves as a high-performance backend for indexing and retrieving high-dimensional embeddings, providing the foundation for machine learning data pipelines. The system distinguishes itself through a combination of cloud-native object storage and immutable version tracking, allowing for data time-travel and reproducible AI experiments. It integrates hybrid search capabilities, merging dense vector similarity with BM25 full-text search and SQL-like scalar filters

    HTMLapproximate-nearest-neighbor-searchimage-searchnearest-neighbor-search
    Voir sur GitHub↗9,031
  • alibaba/zvecAvatar de alibaba

    alibaba/zvec

    5,198Voir sur GitHub↗

    zvec is an embedded vector database engine and indexing library designed for high-dimensional similarity search. It functions as a hybrid search engine and a retrieval-augmented generation knowledge base, allowing for the storage and retrieval of dense and sparse vectors. The system is distinguished by its hybrid retrieval pipeline, which fuses vector similarity, full-text keyword matching, and scalar metadata filtering into single query operations. It supports a plugin-based model integration system for registering custom embedding models and rerankers, as well as language bindings for nativ

    C++ann-searchembedded-databaserag
    Voir sur GitHub↗5,198
Voir les 30 alternatives à Hnswlib→