VectorDB
An in-memory vector database with pluggable indexing algorithms, linear, KD-tree and LSH, metadata filtering, snapshot persistence, and a FastAPI REST API plus a native Python client.
VectorDB stores and searches vector embeddings in memory, choosing among linear, KD-Tree or LSH indexing algorithms and cosine similarity or Euclidean distance, with metadata filtering on search results and snapshot-based persistence for durability.
A layered design separates concerns behind well-defined interfaces, uses a custom reader-writer lock that allows concurrent reads while giving writers exclusive access and priority to avoid starvation, and manages resources through context managers. It exposes full CRUD operations over a FastAPI REST API, a native Python SDK, and integrated Cohere support for generating text embeddings.
Built with Python and FastAPI, with Docker Compose support, health checks and graceful shutdown for production deployment; configuration is set through environment variables.