Appearance
Elsai VectorDB v1.1.0
ChromaDB, Pinecone, and Weaviate integrations.
INFO
v2.0 adds filter-based retrieval and as_retriever() for RAG workflows. See v2.0 docs.
Installation
bash
pip install --extra-index-url https://core-packages.elsai.ai/root/elsai-vectordb/ elsai-vectordb==1.1.0ChromaVectorDb
python
from elsai_vectordb.chromadb import ChromaVectorDb
db = ChromaVectorDb(persist_directory="./db")
db.create_if_not_exists(collection_name="my_docs")
db.add_document(
document={
"id": "001",
"embeddings": [0.1, 0.2, 0.7],
"page_content": "Sample document.",
"metadatas": {"source": "report.pdf"},
},
collection_name="my_docs",
)
results = db.retrieve_document(
collection_name="my_docs",
embeddings=[0.1, 0.2, 0.7],
k=5,
)
# CRUD (v1.1.0+)
db.update_document(document={...}, collection_name="my_docs")
db.delete_document(ids=["001"], collection_name="my_docs")
db.list_collections()
db.delete_collection(collection_name="my_docs")PineconeVectorDb
python
from elsai_vectordb.pinecone import PineconeVectorDb
db = PineconeVectorDb(index_name="my-index", pinecone_api_key="your_key", dimension=1536)
db.add_document(
document={"id": "001", "embeddings": [...], "page_content": "Text.", "metadatas": {}},
namespace="my-ns",
)
results = db.retrieve_document(embeddings=[...], namespace="my-ns", k=5)WeaviateVectorDb
python
from elsai_vectordb.weaviate import WeaviateVectorDb
db = WeaviateVectorDb(
weaviate_url="https://your-instance.weaviate.network",
weaviate_api_key="your_key",
class_name="Document",
)
db.add_document(document={...})
results = db.retrieve_document(embeddings=[...], k=5)