| This looks really promising and thanks for sharing! I've actually been looking into this exact type of functionality lately, for anyone else I'm just going to drop some other projects in this area (also if anyone, including OP, want's to chime in on how they compare- i know there's all sorts of trade-offs ie. the similarity algo chosen, one of these relies on wasm, etc): https://github.com/tantaraio/voy https://github.com/nitaiaharoni1/vector-storage https://github.com/danielivanovz/indexed-vector-store https://github.com/yusufhilmi/client-vector-search Another area I've looked into briefly is also trying to generate vector embeddings fully in-browser. I know there will likely be tradeoffs with dimensionality / overall accuracy/performance but having a semi-decent way to do this in-browser would be awesome. This project only runs in node (but there's an issue that talks about how it might be modified to run in-browser): https://github.com/Anush008/fastembed-js Looks like transformers.js supports embeddings in-browser: https://github.com/xenova/transformers.js/releases/tag/2.1.0 https://github.com/pinecone-io/semantic-search-example/blob/... Also it appears the client-vector-search supports both embeddings & vector indexing https://github.com/yusufhilmi/client-vector-search Hope this helps others looking into this stuff! |