Python SDKs
Three Python packages for different frameworks:
| Package | Framework | Install |
|---|---|---|
langchain-zerodb | LangChain | pip install langchain-zerodb |
llama-index-vector-stores-zerodb | LlamaIndex | pip install llama-index-vector-stores-zerodb |
zerodb-mcp | Direct / MCP | pip 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
- React SDK — Frontend hooks
- Next.js SDK — Server-side integration
- MCP Servers — Agent tool integration