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

File metadata

File hashes

Hashes for llama_index_vector_stores_zeusdb-0.1.2.tar.gz
Algorithm Hash digest
SHA256 b26b4d3bdf89cf75f8ef02a413cfd2a38d871ee089b76911d64ff10b5ccf71bb
MD5 2b44e03de94c8881dad851687eae3f9c
BLAKE2b-256 b699cc7adcdd7045a075b76b976f387f5f4fa860c4d3d8fb4ec79cdc32efe90e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for llama_index_vector_stores_zeusdb-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 7b6dc52696d0e2ab69a04faf1dea6c7c396e855b0ec28ab4007ad0d37bcb533d
MD5 a7ec161c09a9b047d09faafb03855926
BLAKE2b-256 0b6ca670927705d110ce4964a000fb02945047c8ae9995861b70e6c93c65ef23

See more details on using hashes here.

Provenance

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