USearch

Active
GitHub C++ Apache-2.0

Description

USearch is a fast open-source search and clustering engine for vectors and arbitrary objects, with bindings in C++, Python, JavaScript, Rust, Java, Swift, C#, Go, and Wolfram for large-scale vector retrieval.

Key Features

  • 10x faster HNSW indexing than FAISS with SIMD-optimized distance computations
  • Single C++11 header library with bindings for 10+ languages (Python, JS, Rust, Java, Go, etc.)
  • User-defined metrics with JIT compilation for custom distance functions
  • Hardware-agnostic bf16, e5m2, and i8 half/quarter precision support for memory efficiency
  • View large indexes from disk without loading into RAM, with heterogeneous lookups and on-the-fly deletions
  • Near-real-time clustering and sub-clustering for tens to millions of clusters

Use Cases

💡 High-performance vector search for RAG and semantic search applications
💡 Genomic and molecular similarity search using binary Tanimoto/Sorensen coefficients
💡 Large-scale embedding deduplication and recommendation systems
💡 Multimodal semantic search combining vectors with string similarity

Categories

Quick Start

1. Install: pip install usearch. 2. Create an index: index = usearch.Index(ndim=128). 3. Add vectors with index.add(ids, vectors), search with index.search(queries, k=10). Supports C++, Python, JS, Rust, Java, Go, and 4 more languages.

Related Projects