Skip to main content

LlamaIndex integration for ZeusDB vector database. Enterprise-grade RAG with high-performance vector search.

Project description

LlamaIndex ZeusDB Integration

ZeusDB vector database integration for LlamaIndex. Connect LlamaIndex's RAG framework with high-performance, enterprise-grade vector database.

Features

  • Production Ready: Built for enterprise-scale RAG applications
  • Persistence: Complete save/load functionality with cross-platform compatibility
  • Advanced Filtering: Comprehensive metadata filtering with complex operators
  • MMR Support: Maximal Marginal Relevance for diverse, non-redundant results
  • Quantization: Product Quantization (PQ) for memory-efficient vector storage
  • Async Support: Async wrappers for non-blocking operations (aadd, aquery, adelete_nodes)

Installation

pip install llama-index-vector-stores-zeusdb

Quick Start

from llama_index.core import VectorStoreIndex, Document, StorageContext
from llama_index.vector_stores.zeusdb import ZeusDBVectorStore
from llama_index.embeddings.openai import OpenAIEmbedding
from llama_index.llms.openai import OpenAI
from llama_index.core import Settings

# Set up embedding model and LLM
Settings.embed_model = OpenAIEmbedding(model="text-embedding-3-small")
Settings.llm = OpenAI(model="gpt-5")

# Create ZeusDB vector store
vector_store = ZeusDBVectorStore(
    dim=1536,  # OpenAI embedding dimension
    distance="cosine",
    index_type="hnsw"
)

# Create storage context
storage_context = StorageContext.from_defaults(vector_store=vector_store)

# Create documents
documents = [
    Document(text="ZeusDB is a high-performance vector database."),
    Document(text="LlamaIndex provides RAG capabilities."),
    Document(text="Vector search enables semantic similarity.")
]

# Create index and store documents
index = VectorStoreIndex.from_documents(
    documents,
    storage_context=storage_context
)

# Query the index
query_engine = index.as_query_engine()
response = query_engine.query("What is ZeusDB?")
print(response)

Advanced Features

Persistence

Save and load indexes with complete state preservation:

# Save index to disk
vector_store.save_index("my_index.zdb")

# Load index from disk
loaded_store = ZeusDBVectorStore.load_index("my_index.zdb")

MMR Search

Balance relevance and diversity for comprehensive results:

from llama_index.core.vector_stores.types import VectorStoreQuery

# Query with MMR for diverse results
query_embedding = embed_model.get_text_embedding("your query")
results = vector_store.query(
    VectorStoreQuery(query_embedding=query_embedding, similarity_top_k=5),
    mmr=True,
    fetch_k=20,
    mmr_lambda=0.7  # 0.0=max diversity, 1.0=pure relevance
)

# Note: MMR automatically enables return_vector=True for diversity calculation
# Results contain ids and similarities (nodes=None)

Quantization

Reduce memory usage with Product Quantization:

vector_store = ZeusDBVectorStore(
    dim=1536,
    distance="cosine",
    quantization_config={
        'type': 'pq',
        'subvectors': 8,
        'bits': 8,
        'training_size': 1000,
        'storage_mode': 'quantized_only'
    }
)

Async Operations

Non-blocking operations for web servers and concurrent workflows:

import asyncio

# Async add
node_ids = await vector_store.aadd(nodes)

# Async query
results = await vector_store.aquery(query_obj)

# Async delete
await vector_store.adelete_nodes(node_ids=["id1", "id2"])

Metadata Filtering

Filter results by metadata:

from llama_index.core.vector_stores.types import (
    MetadataFilters,
    FilterOperator,
    FilterCondition
)

# Create metadata filter
filters = MetadataFilters.from_dicts([
    {"key": "category", "value": "tech", "operator": FilterOperator.EQ},
    {"key": "year", "value": 2024, "operator": FilterOperator.GTE}
], condition=FilterCondition.AND)

# Query with filters
results = vector_store.query(
    VectorStoreQuery(
        query_embedding=query_embedding,
        similarity_top_k=5,
        filters=filters
    )
)

Supported operators: EQ, NE, GT, GTE, LT, LTE, IN, NIN, ANY, ALL, CONTAINS, TEXT_MATCH, TEXT_MATCH_INSENSITIVE

Configuration

Parameter Description Default
dim Vector dimension Required
distance Distance metric (cosine, l2, l1) cosine
index_type Index type (hnsw) hnsw
m HNSW connectivity parameter 16
ef_construction HNSW build-time search depth 200
expected_size Expected number of vectors 10000
quantization_config PQ quantization settings None

License

This project is licensed under the MIT License - see the LICENSE file for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

llama_index_vector_stores_zeusdb-0.1.3.tar.gz (15.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

File details

Details for the file llama_index_vector_stores_zeusdb-0.1.3.tar.gz.

File metadata

File hashes

Hashes for llama_index_vector_stores_zeusdb-0.1.3.tar.gz
Algorithm Hash digest
SHA256 c6d3309c3faefa807d6d1009baa2edfe99816adffe74f09450c12d1abbc16fb5
MD5 95a32c899992414b330467280f14e862
BLAKE2b-256 aef014426d3a7ff942033b1500739f487d82aab6a1059591f28385ff3fd5cda7

See more details on using hashes here.

Provenance

The following attestation bundles were made for llama_index_vector_stores_zeusdb-0.1.3.tar.gz:

Publisher: publish-pypi.yml on ZeusDB/llama-index-vector-stores-zeusdb

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file llama_index_vector_stores_zeusdb-0.1.3-py3-none-any.whl.

File metadata

File hashes

Hashes for llama_index_vector_stores_zeusdb-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 e200d61388edbd4e9424ba03d0b3f7dd1fa5c5a71b17bcaba33df862a330f44a
MD5 35e7a4f7e0a5ec81760999223d6ec3e7
BLAKE2b-256 83d1e55bb4f79d52d27e57e0db8afbceeab44f26694adecbd9596f3988adbf5d

See more details on using hashes here.

Provenance

The following attestation bundles were made for llama_index_vector_stores_zeusdb-0.1.3-py3-none-any.whl:

Publisher: publish-pypi.yml on ZeusDB/llama-index-vector-stores-zeusdb

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page