Skip to main content

Python SDKs

Three Python packages for different frameworks:

PackageFrameworkInstall
langchain-zerodbLangChainpip install langchain-zerodb
llama-index-vector-stores-zerodbLlamaIndexpip install llama-index-vector-stores-zerodb
zerodb-mcpDirect / MCPpip install zerodb-mcp

LangChain

from langchain_zerodb import ZeroDBVectorStore

store = ZeroDBVectorStore(
api_key="your-api-key",
project_id="your-project-id",
)

# Add documents (embeddings generated free)
store.add_texts(
texts=["ZeroDB is fast", "Semantic search is powerful"],
metadatas=[{"source": "docs"}, {"source": "docs"}],
)

# Similarity search
results = store.similarity_search("fast database", k=5)
for doc in results:
print(f"{doc.page_content} (score: {doc.metadata.get('score', 'N/A')})")

# Use as retriever in a chain
from langchain.chains import RetrievalQA
from langchain_community.llms import Ollama

qa = RetrievalQA.from_chain_type(
llm=Ollama(model="llama3"),
retriever=store.as_retriever(search_kwargs={"k": 3}),
)
answer = qa.run("What is ZeroDB?")

LlamaIndex

from llama_index_zerodb import ZeroDBVectorStore
from llama_index.core import VectorStoreIndex, SimpleDirectoryReader

# Load documents
documents = SimpleDirectoryReader("./data").load_data()

# Create index backed by ZeroDB
store = ZeroDBVectorStore(
api_key="your-api-key",
project_id="your-project-id",
)
index = VectorStoreIndex.from_documents(documents, vector_store=store)

# Query
engine = index.as_query_engine()
response = engine.query("What is ZeroDB?")
print(response)

Direct Python (zerodb-mcp)

import requests

BASE = "https://api.ainative.studio/api/v1/public"
HEADERS = {
"Authorization": "Bearer your-api-key",
"Content-Type": "application/json",
}

# Store a vector
requests.post(f"{BASE}/zerodb/vectors", headers=HEADERS, json={
"texts": ["Hello world"],
"metadata": [{"source": "test"}],
})

# Search
response = requests.post(f"{BASE}/zerodb/vectors/search", headers=HEADERS, json={
"query": "greeting",
"limit": 5,
})
print(response.json())

ZeroDB Local (Self-Hosted)

For offline / privacy-first use:

pip install zerodb-local
from zerodb_local import ZeroDBLocal

db = ZeroDBLocal("./my-data")
db.add_texts(["Local embeddings", "No API needed"])
results = db.search("embeddings", k=3)

Uses SQLite + FAISS — runs entirely on your machine with inline embeddings.

Next Steps