README.md
sqlite-vecAn 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!
vec0 virtual tablesSee 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 |
.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 │
└───────┴──────────────────┘
*/
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
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 .gguf format