definable.vectordb module and a base class for custom backends.
All vector DB classes are imported from
definable.vectordb, not definable.knowledge. The definable.knowledge module re-exports InMemoryVectorDB for backward compatibility but will show a deprecation warning.InMemoryVectorDB
Stores everything in memory. Great for development, testing, and small datasets.- No external dependencies (requires
numpy) - Uses cosine similarity for search
- Data is lost when the process exits
PgVector
Uses PostgreSQL with thepgvector extension. Suitable for production workloads with persistent storage and scalable search.
Requires Your PostgreSQL instance must have the
psycopg[binary] and pgvector. Install with:pgvector extension enabled:Qdrant
High-performance vector search engine.ChromaDb
MongoDb
MongoDB Atlas vector search.RedisDB
Redis with RediSearch for vector similarity.PineconeDb
Pinecone managed vector database.Using with Knowledge
Pass any vector DB instance toKnowledge:
VectorDB Interface
All implementations share the same base interface fromdefinable.vectordb.VectorDB:
Creating a Custom VectorDB
SubclassVectorDB from definable.vectordb to integrate any vector store. The key abstract methods to implement are: