An open-source library for approximate nearest neighbor search in high-dimensional spaces, often used as a backend for vector databases and search engines.
MRPT (Multi-Resolution Proximity Trees) is an open-source library for fast approximate nearest neighbor search in high-dimensional vector spaces, applicable to vector database backends.
HNSWLIB is a C++ library with Python bindings for fast approximate nearest neighbor search using Hierarchical Navigable Small World (HNSW) graphs, commonly used in vector database backends.
NMSLIB is an efficient similarity search library and toolkit for high-dimensional vector spaces, supporting a variety of indexing algorithms for vector database use cases.
A library by Google Research for efficient vector similarity search, suitable for large-scale nearest neighbor applications in AI.
Cottontail DB is an open-source vector database for storing and searching high-dimensional data, with features geared towards research and production environments.
Annoy (Approximate Nearest Neighbors Oh Yeah) is an open-source C++ library with Python bindings for performing approximate nearest neighbor search in high-dimensional spaces. It is optimized for memory usage and supports efficient loading and saving of indexes to disk, enabling large-scale vector search.
n_trees) and nodes to inspect during searching (search_k) can be tuned for trade-offs between speed and accuracy.AnnoyIndex(f, metric): Create index for vectors of dimension f with specified metric.add_item(i, v): Add item with integer id i and vector v.build(n_trees, n_jobs=-1): Build index with specified number of trees and jobs.save(fn), load(fn), unload(): Save/load/unload index from disk.get_nns_by_item(i, n, ...), get_nns_by_vector(v, n, ...): Retrieve nearest neighbors.get_item_vector(i), get_distance(i, j), get_n_items(), get_n_trees(): Various utility functions.on_disk_build(fn): Build index directly on disk.set_seed(seed): Set random seed for reproducible builds.#include "annoylib.h".Annoy is open-source software and is free to use under the Apache-2.0 license.