Favicon of USearch

USearch

An open-source vector search library for local apps and servers, with custom metrics, disk-backed indexes, and Apache 2.0 licensing.

Screenshot of USearch website

USearch is an open-source similarity search library for developers building semantic search, recommendation systems, and other applications that compare vectors. It runs within your application on your own hardware or server. Its compact C++ core supports custom definitions of similarity, including comparisons between combined image and text embeddings or geospatial data.

It provides HNSW approximate nearest-neighbor search for large collections and exact search for smaller datasets. Compared with FAISS, its design puts more emphasis on custom metrics, few dependencies, and native language bindings. Filters can consult an external database while a search runs, and indexes support deletions and changes to record labels.

Large indexes can stay on disk without loading entirely into RAM. Lower-precision vector storage, including bf16, Float8, and integer formats, reduces memory use; quantized storage doesn't retain the original full-precision vectors. CPU optimizations use Arm and x86 SIMD instructions. Developers can also search across several indexes together and reuse saved indexes across programming languages.

USearch runs on Linux, macOS, Windows, iOS, and Android, with WebAssembly and SQLite support. Bindings include Python, Rust, JavaScript, Swift, Java, C#, and Go alongside C and C++. It uses the Apache 2.0 license. Integrations include LangChain, Microsoft Semantic Kernel, GPTCache, and Sentence-Transformers, while databases including ClickHouse and DuckDB use its search engine.

Similar to USearch