vector_database

On this page

vector_database is a Python package that provides a unified interface over three different vector-search backends:

BackendClassUnderlying engine
FAISSFAISSVectorDatabaseMeta FAISS (local, in-process)
ChromaChromaVectorDatabaseChromaDB (local or persistent)
PineconePineconeVectorDatabasePinecone (managed cloud)

All three inherit from the same abstract contract, VectorDatabaseBase, so application code (for example a RAG pipeline) can swap backends without changing call sites.

Python · 8 lines
from zerda.vector_database import FAISSVectorDatabase, ChromaVectorDatabase, PineconeVectorDatabase

# Same shape of calls regardless of backend:
db.add(chunks)
db.search("some query", top_k=5)
db.remove_by_doc_id("doc-1")
db.get_stats()
len(db)

What this documentation covers

This documentation was generated directly from static analysis of the four source files that make up the package:

  • vector_database
  • vector_database
  • vector_database
  • vector_database
  • vector_database/pinecone

Only what is demonstrably present in the source is documented. Where behavior could not be verified from the code (for example, exact upstream FAISS/Chroma/Pinecone error types), that is called out explicitly rather than guessed at.

Important scoping note

The source package imports DocumentChunk from a sibling package that is not included in the analyzed archive:

Python
from zerda.chunks import DocumentChunk          # chroma.py, pinecone.py

This means vector_database is not a standalone, pip-installable package as provided — it's one module of a larger project (the import structure implies a parent package containing sibling chunks and, likely, a RAGSystem orchestrator referenced in the base docstrings). See Architecture → External dependencies for what could and couldn't be determined about DocumentChunk.

Where to go next