Zvec is an open-source embedded vector database from Alibaba, built on their Proxima engine. The pitch is simple: vector search that runs in-process, no server required, with the same frictionless setup as SQLite.
The gap it fills is real. Faiss gives you indexes but no CRUD or crash recovery. DuckDB-VSS has limited vector features. Milvus needs its own process and network hop. Zvec aims to be the option that just works when you’re building a local RAG pipeline, a CLI tool, or anything on-device where you need semantic search without infrastructure.
Key capabilities: HNSW and IVF indexes, hybrid search (vector similarity plus scalar filters pushed into the index), quantization for memory-constrained environments, and built-in resource controls for thread concurrency and memory limits. They claim 8,000+ QPS on standard benchmarks.
import zvec
schema = zvec.CollectionSchema(
name="example",
vectors=zvec.VectorSchema("embedding", zvec.DataType.VECTOR_FP32, 4),
)
collection = zvec.create_and_open(path="./zvec_example", schema=schema)
collection.insert([zvec.Doc(id="doc_1", vectors={"embedding": [0.1, 0.2, 0.3, 0.4]})])
results = collection.query(zvec.VectorQuery("embedding", vector=[0.4, 0.3, 0.3, 0.1]), topk=10)
Haven’t tried it yet, but the SQLite analogy is well-chosen.