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.1.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.1.tar.gz.

File metadata

File hashes

Hashes for llama_index_vector_stores_zeusdb-0.1.1.tar.gz
Algorithm Hash digest
SHA256 54a0d6e598181afefdc72aa07149c2cfcbe8513618af6f86e80324413b4381f9
MD5 76c43bbd47f7a30053ce0e759d90dbdb
BLAKE2b-256 7af4580d303a8d1786e0e4f2cf3d10b042bdea038ad205acad796af63c922beb

See more details on using hashes here.

Provenance

The following attestation bundles were made for llama_index_vector_stores_zeusdb-0.1.1.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.1-py3-none-any.whl.

File metadata

File hashes

Hashes for llama_index_vector_stores_zeusdb-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 c68f2978070297b2c2430bfb8a2143469b51e2f11d63f7276c686cbc4f486299
MD5 85f2441f3ef550aa686b80abdaed1607
BLAKE2b-256 c2f4b2024a59632d9dc9d2fbad6c721f06c9a915bdf7ae2fc2654ca7ccc3b4e1

See more details on using hashes here.

Provenance

The following attestation bundles were made for llama_index_vector_stores_zeusdb-0.1.1-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