Author here, happy to answer any questions! Been working on this for a while, so I'm very happy to get this v0.1.0 "stable" release out.<p>sqlite-vec works on MacOS, Linux, Windows, Raspberry Pis, in the browser with WASM, and (theoretically) on mobile devices. I focused a lot on making it as portable as possible. It's also pretty fast - benchmarks are hard to do accurately, but I'd comfortable saying that it's a very very fast brute-force vector search solution.<p>One experimental feature I'm working on: You can directly query vectors that are in-memory as a contiguous block of memory (ie NumPy), without any copying or cloning. You can see the benchmarks for that feature here under "sqlite-vec static", and it's competitive with faiss/usearch/duckdb <a href="https://alexgarcia.xyz/blog/2024/sqlite-vec-stable-release/index.html#benchmarks" rel="nofollow">https://alexgarcia.xyz/blog/2024/sqlite-vec-stable-release/i...</a>
Lots more details in Alex's blog post here: <a href="https://alexgarcia.xyz/blog/2024/sqlite-vec-stable-release/index.html" rel="nofollow">https://alexgarcia.xyz/blog/2024/sqlite-vec-stable-release/i...</a>
I feel like I've touched a lot of things where something like this is useful (hobby projects). In my case I've done a recommendation engine, music matching (I specifically use it for matching anime to their data), and perceptual hash matching.
I absolutely love this, great work! For those that might find it useful, I created a Python notebook that shows how to extend this to perform Hybrid Search (Vector + BM25 based Full Text search) <a href="https://github.com/liamca/sqlite-hybrid-search">https://github.com/liamca/sqlite-hybrid-search</a>
I’ve done something similar, but using duckDB as the backend.<p><a href="https://github.com/patricktrainer/duckdb-embedding-search">https://github.com/patricktrainer/duckdb-embedding-search</a>
Hi, nice work. I write a similar vector search extension <a href="https://github.com/1yefuwang1/vectorlite">https://github.com/1yefuwang1/vectorlite</a> inspired by sqlite-vss using C++17 and hnswlib.<p>I'd like to do a benchmark to compare it with sqlite-vec, but I guess it is not a fair comparison given that sqlite-vec uses brute-force only.<p>One thing I'd recommend is to include recall rate in your benchmark data.<p>Brute force approach is a good starting point but doesn't scale with serious production workload.
I love this. I know how much work addressing the dependencies must be, but you’re really attacking the right problems. Looking forward to trying this out with my project.
Been using this for video games and it's absolutely awesome. Alex, the author, is also great and very approachable.<p>I've been looking for something like this for a while.
I have a use case for this that I'm excited to try. I'm glad AlexG has put so much effort into this. Even the docs are pretty good!<p>My pyenv python3.12.2's sqlite won't load extensions even after installing with what I think are the correct command line flags. Argh!<p>My brew installed python3.12's sqlite will load extensions though, so I can proceed.
I love this. I am currently doing this tutorial of RAG where the vector DB is simply postgreSQL and pgvector. I guess I can try to reproduce that with SQLite and sqlite-vec now ! Awesome: <a href="https://www.lycee.ai/courses/91b8b189-729a-471a-8ae1-717033c77eb5/chapters/a8494d55-a5f2-4e99-a0d4-8a79549c82ad" rel="nofollow">https://www.lycee.ai/courses/91b8b189-729a-471a-8ae1-717033c...</a>