Skip to main content

WeaviateBackend

Weaviate-based vector similarity backend. The only vector database with native hybrid search (semantic + BM25 keyword) without a separate layer. Supports embedded (local) and Weaviate Cloud instances.

Installation

pip install 'chengeta-ai[vector-weaviate]'

Usage

Embedded (local, no server)

from chengeta_ai.backends.vector_backend import WeaviateBackend
from chengeta_ai import SemanticCache, InMemoryBackend

vector_backend = WeaviateBackend() # embedded local instance

cache = SemanticCache(
exact_backend=InMemoryBackend(),
vector_backend=vector_backend,
embed_fn=lambda text: embed_model.encode(text),
)

Weaviate Cloud

vector_backend = WeaviateBackend(
url="https://your-cluster.weaviate.network",
api_key="your-weaviate-api-key",
class_name="ChengetaEntry",
)

Why Weaviate?

Weaviate is the only vector database with native hybrid search — it combines BM25 keyword ranking with vector similarity in a single query without a separate BM25 layer. This makes it ideal for RAG caches where queries mix keyword specificity (e.g. product codes) with semantic meaning.

FeatureWeaviateQdrantFAISS
Native hybrid search
Persistent
Cloud-managed
Embedded (no server)

API Reference

ParameterTypeDefaultDescription
urlstr | NoneNoneWeaviate instance URL. None = embedded
api_keystr | NoneNoneWeaviate Cloud API key
class_namestr"ChengetaEntry"Weaviate class name for cache entries