sqlite-vec is a C-based vector library and SQLite extension that adds virtual tables for storing and querying high-dimensional embeddings. It functions as a database plugin for performing nearest neighbor searches using distance metrics such as L2, cosine, and Hamming distance.
The project provides a portable embedding store that supports deployment across Android, iOS, desktop environments, and web browsers via WebAssembly. It distinguishes itself by converting numerical arrays into compact binary formats and utilizing quantization to reduce the memory footprint and storage size of vector indexes.
The library covers a broad range of vector operations, including similarity querying, vector arithmetic, and data transformation. It also includes capabilities for metadata filtering, key-based index sharding, and the attachment of auxiliary data to vector records.
The extension can be integrated into projects using C, C++, Go, Ruby, and Rust, and it is compatible with Datasette and distributed SQLite environments.