Retrieval-Augmented Generation (RAG)

Weaviate

Definition

Weaviate is a vector-native database built for AI applications, distinguishing itself from Pinecone through its open-source licensing (self-hostable), rich object model (vectors stored with rich typed properties), built-in vectorization modules (automatically embed text during import using integrated embedding models), and first-class hybrid search (BM25 + vector search combined in a single query). Weaviate's schema-based data model allows storing structured properties alongside vectors, enabling complex filter queries at query time. Multi-tenancy is supported via tenant isolation at the class level, with separate vector spaces per tenant. Weaviate can be self-hosted on Kubernetes or used as a fully managed cloud service.

Why It Matters

Weaviate's open-source nature makes it attractive for organizations with data sovereignty requirements or cost constraints that make managed cloud services impractical. Its built-in vectorization modules reduce pipeline complexity—instead of computing embeddings in application code and upserting pre-computed vectors, teams can configure Weaviate to call an embedding API during import automatically. For enterprise 99helpers customers with strict data residency requirements (EU data must stay in EU), a self-hosted Weaviate deployment in a private cloud provides vector search capabilities without routing customer data through third-party cloud services.

How It Works

A Weaviate schema defines a class with properties and a vectorizer: {class: 'SupportArticle', vectorizer: 'text2vec-openai', properties: [{name: 'content', dataType: ['text']}, {name: 'category', dataType: ['string']}]}. Objects are imported with text properties; Weaviate automatically calls OpenAI to embed the content field. Queries use Weaviate's GraphQL API: nearText: {concepts: ['billing issue']} with additional filters: where: {operator: Equal, path: ['category'], valueString: 'billing'}. Hybrid search combines nearText (vector) with BM25 (keyword) results using a configurable alpha parameter. The Python client (weaviate-client) provides a convenient SDK.

Weaviate Hybrid Search — BM25 + Vector Fusion

Schema — Class "Article"

{

class: "Article",

vectorizer: "text2vec-openai",

properties: [

{ name: "title", dataType: ["text"] },

{ name: "content", dataType: ["text"] },

{ name: "category", dataType: ["string"] }

]

}

text2vec auto-embeds "content" field on ingest — no manual embedding step needed.

Hybrid query execution

BM25 keyword

weight 0.3

Exact term matching via inverted index

error codeplan nameversion number

Vector semantic

weight 0.7

Cosine similarity via HNSW index

billing issuehow do Itroubleshoot

Reciprocal rank fusion

alpha = 0.7 (vector weight)

1.Password reset guide
bm25: 0.00vec: 0.960.94
2.Account security settings
bm25: 0.00vec: 0.890.87
3.Reset password API endpoint
bm25: 0.82vec: 0.710.80

Auto-vectorization

Ingest object

POST article with text properties

text2vec module

Calls embedding API automatically

Store vector

Embedding saved alongside object

Weaviate advantages

Open-source, self-hostable
Built-in hybrid search
Auto-embeds on ingest
Multi-tenant class isolation

Real-World Example

A 99helpers enterprise customer deploys Weaviate on their private Kubernetes cluster in the EU to meet GDPR data residency requirements. They configure the text2vec-azure module to embed content using their Azure OpenAI deployment (also in the EU) during import. The 500,000-chunk knowledge base is imported via batch operations. Hybrid search queries combine semantic understanding with exact keyword matching, improving recall for technical terms like specific error codes that don't have close semantic neighbors. Query latency averages 65ms at p99 on their 8-core deployment.

Common Mistakes

  • Using the built-in vectorizer without ensuring it matches the same embedding model used for any externally computed embeddings in the same collection.
  • Ignoring Weaviate's HNSW index parameters—default ef and efConstruction values may not be optimal for your corpus size and query volume.
  • Not setting up backup and recovery for self-hosted Weaviate—unlike managed services, self-hosted deployments require explicit backup configuration.

Related Terms

Ready to build your AI chatbot?

Put these concepts into practice with 99helpers — no code required.

Start free trial →
What is Weaviate? Weaviate Definition & Guide | 99helpers | 99helpers.com