AsterVec
AsterVec is an embeddable, disk-based vector search engine for on-device AI agent memory and local RAG, keeping only a small navigation structure in RAM so it can search millions of embeddings within a few hundred megabytes of memory.
AsterVec stores its HNSW graph and its vectors on disk in separate structures, because they are updated and accessed in different patterns, and holds only the part needed to navigate the graph in memory, with a configurable memory budget that holds whether the index has a hundred thousand or ten million vectors. Inserts, updates and deletes apply directly to the index in place, with no separate rebuild step required as data grows.
It is a thread-safe library usable from Python or C++ inside an application process, with no separate service to run, though an HTTP server ships in the box for anyone who wants one. Benchmarks on the SIFT dataset show it performing comparably to in-memory engines once a dataset no longer fits in memory, which is the specific case its disk-oriented design targets.
It is written in C++ with a Python binding and released under the Apache-2.0 license.