Indexing with vectors / vector search
@Polleps is already working on this.
Since Jan 29, 2026.
- Dominant language
- TypeScript
- Stars
- 1.6k
- Forks
- 82
- Avg merge
- 10h 34m
- Merged PRs (30d)
- 205
Description
LLMs have enabled a new type of search: vector search. Instead of finding a word or string, vector search turns entries and queries into vectors (arrays of numbers).
RAG search would be very useful for Atomic Assistant.
Todo
- Internal vector store
- Search UI uses vector search if available
- External embedding support (call external API)
- Internal LLM support
- E2E tests for vector search
UseCases
- Finding things by their semantic meaning (improved search)
- Searching through images, videos, audio, etc. using embeddings
- Finding relevant resources
- Injecting context in an LLM #951
Approaches
Using sled / KV store
I don't think it's possible to do meaningful nearest-neighbor search using sled's KV / BTreeMap data structure. Searching in a KV store is done with range queries over lexicographically sorted keys, and I can't see how we can turn a high-dimensional vector in a meaningful key, where close neighbors are also lexicographically close.
Using an external vector DB
The whole point of AtomicServer is that you don't need anything else. I don't want external dependencies, I want it to be a small single binary that you can just run and it gives you all you need.
OasysDB (2026: no longer mainteined)
An embeddable vector database in rust. That's the spirit!
LanceDB
- Embeddable vector search DB, seems to be really fast, also has full-text search (using tantivy). It's not OLTP
- Polle tried it, it was very slow (why?)
- Not WASM yet, maybe at some point
PolarisDB
- Zero stars
- Polle tried it, seems really fast
- Unclear if WASM
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.