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.