asg017 / sqlite-vec
A vector search SQLite extension that runs anywhere!
AI Architecture Analysis
This repository is indexed by RepoMind. By analyzing asg017/sqlite-vec in our AI interface, you can instantly generate complete architecture diagrams, visualize control flows, and perform automated security audits across the entire codebase.
Our Agentic Context Augmented Generation (Agentic CAG) engine loads full source files into context, avoiding the fragmentation of traditional RAG systems. Ask questions about the architecture, dependencies, or specific features to see it in action.
Repository Summary (README)
Previewsqlite-vec
An extremely small, "fast enough" vector search SQLite extension that runs
anywhere! A successor to sqlite-vss
<!-- deno-fmt-ignore-end -->[!IMPORTANT]
sqlite-vecis a pre-v1, so expect breaking changes!
- Store and query float, int8, and binary vectors in
vec0virtual tables - Written in pure C, no dependencies, runs anywhere SQLite runs (Linux/MacOS/Windows, in the browser with WASM, Raspberry Pis, etc.)
- Store non-vector data in metadata, auxiliary, or partition key columns
Installing
See Installing sqlite-vec
for more details.
| Language | Install | More Info | |
|---|---|---|---|
| Python | pip install sqlite-vec | sqlite-vec with Python | |
| Node.js | npm install sqlite-vec | sqlite-vec with Node.js | |
| Ruby | gem install sqlite-vec | sqlite-vec with Ruby | |
| Go | go get -u github.com/asg017/sqlite-vec/bindings/go | sqlite-vec with Go | |
| Rust | cargo add sqlite-vec | sqlite-vec with Rust | |
| Datasette | datasette install datasette-sqlite-vec | sqlite-vec with Datasette | |
| rqlite | rqlited -extensions-path=sqlite-vec.tar.gz | sqlite-vec with rqlite | |
sqlite-utils | sqlite-utils install sqlite-utils-sqlite-vec | sqlite-vec with sqlite-utils | |
| Github Release |
Sample usage
.load ./vec0
create virtual table vec_examples using vec0(
sample_embedding float[8]
);
-- vectors can be provided as JSON or in a compact binary format
insert into vec_examples(rowid, sample_embedding)
values
(1, '[-0.200, 0.250, 0.341, -0.211, 0.645, 0.935, -0.316, -0.924]'),
(2, '[0.443, -0.501, 0.355, -0.771, 0.707, -0.708, -0.185, 0.362]'),
(3, '[0.716, -0.927, 0.134, 0.052, -0.669, 0.793, -0.634, -0.162]'),
(4, '[-0.710, 0.330, 0.656, 0.041, -0.990, 0.726, 0.385, -0.958]');
-- KNN style query
select
rowid,
distance
from vec_examples
where sample_embedding match '[0.890, 0.544, 0.825, 0.961, 0.358, 0.0196, 0.521, 0.175]'
order by distance
limit 2;
/*
┌───────┬──────────────────┐
│ rowid │ distance │
├───────┼──────────────────┤
│ 2 │ 2.38687372207642 │
│ 1 │ 2.38978505134583 │
└───────┴──────────────────┘
*/
Sponsors
Development of sqlite-vec is supported by multiple generous sponsors! Mozilla
is the main sponsor through the new Builders project.
sqlite-vec is also sponsored by the following companies:
As well as multiple individual supporters on Github sponsors!
If your company interested in sponsoring sqlite-vec development, send me an
email to get more info: https://alexgarcia.xyz
See Also
sqlite-ecosystem, Maybe more 3rd party SQLite extensions I've developedsqlite-rembed, Generate text embeddings from remote APIs like OpenAI/Nomic/Ollama, meant for testing and SQL scriptssqlite-lembed, Generate text embeddings locally from embedding models in the.ggufformat