Skip to main content
KI & Machine Learning

Weaviate

Eine Open-Source-Vektordatenbank, die Vektorsuche mit strukturierter Datenfilterung und integrierten ML-Modulen kombiniert—ermöglicht semantische Suche, RAG und KI-native Anwendungen.

Auch bekannt als: Weaviate DB, Weaviate Vektordatenbank

Definition

Weaviate ist eine Open-Source, Cloud-native Vektordatenbank, die sowohl Vektoren als auch strukturierte Datenobjekte speichern kann. Sie unterscheidet sich durch integrierte ML-Module (text2vec, img2vec), die automatisch Embeddings generieren und externe Embedding-Pipelines überflüssig machen. Weaviate verwendet eine GraphQL-API für Abfragen, unterstützt hybride Suche (kombiniert BM25-Keyword-Suche mit Vektor-Ähnlichkeit), und bietet modulare Vectorizer für verschiedene Embedding-Modelle (OpenAI, Cohere, Hugging Face, lokale Modelle).

Warum es wichtig ist

Weaviate vereinfacht die KI-Anwendungsentwicklung:

  • Integrierte Vektorisierung — keine separate Embedding-Pipeline erforderlich
  • Hybride Suche — kombiniert Keyword- und semantische Suche in einer Abfrage
  • GraphQL-Interface — entwicklerfreundliche Abfragesprache
  • Multi-modal — unterstützt Text, Bilder und benutzerdefinierte Datentypen
  • Schema-Flexibilitätstrukturierte Daten neben Vektoren
  • Produktionsreif — horizontale Skalierung, Replikation, Multi-Tenancy

Wie es funktioniert

┌────────────────────────────────────────────────────────────┐
│                       WEAVIATE                              │
├────────────────────────────────────────────────────────────┤
│                                                            │
│  WICHTIGSTER UNTERSCHIED: INTEGRIERTE VEKTORISIERUNG       │
│  ───────────────────────────────────────────────────       │
│                                                            │
│  ┌─────────────────────────────────────────────────────┐ │
│  │                                                      │ │
│  │  Andere Vektor-DBs:                                  │ │
│  │  ┌─────────┐   ┌─────────────┐   ┌────────────┐   │ │
│  │  │  Deine  │   │  Embedding  │   │  Vektor    │   │ │
│  │  │  App    │ → │  API        │ → │  DB        │   │ │
│  │  │         │   │  (OpenAI)   │   │  (Milvus)  │   │ │
│  │  └─────────┘   └─────────────┘   └────────────┘   │ │
│  │                                                      │ │
│  │      Du verwaltest Embedding-Generierung separat    │ │
│  │                                                      │ │
│  │                                                      │ │
│  │  Weaviate:                                           │ │
│  │  ┌─────────┐   ┌──────────────────────────────┐   │ │
│  │  │  Deine  │   │         WEAVIATE             │   │ │
│  │  │  App    │ → │  ┌─────────────────────────┐│   │ │
│  │  │         │   │  │ text2vec-openai Modul   ││   │ │
│  │  │  "roher"│   │  │ (auto-generiert Embed.) ││   │ │
│  │  │  Text   │   │  ├─────────────────────────┤│   │ │
│  │  └─────────┘   │  │    Vektor-Speicher      ││   │ │
│  │                │  └─────────────────────────┘│   │ │
│  │                └──────────────────────────────┘   │ │
│  │                                                      │ │
│  │      Sende Text, Weaviate erledigt Vektorisierung   │ │
│  │                                                      │ │
│  └─────────────────────────────────────────────────────┘ │
│                                                            │
│                                                            │
│  WEAVIATE ARCHITEKTUR:                                     │
│  ─────────────────────                                     │
│                                                            │
│  ┌─────────────────────────────────────────────────────┐ │
│  │                                                      │ │
│  │  ┌─────────────────────────────────────────────┐   │ │
│  │  │              API-Schicht                      │   │ │
│  │  │                                               │   │ │
│  │  │  ┌───────────┐  ┌───────────┐  ┌─────────┐ │   │ │
│  │  │  │  GraphQL  │  │   REST    │  │  gRPC   │ │   │ │
│  │  │  │  Query    │  │   CRUD    │  │  Proto  │ │   │ │
│  │  │  └───────────┘  └───────────┘  └─────────┘ │   │ │
│  │  └─────────────────────────────────────────────┘   │ │
│  │                         │                           │ │
│  │                         ▼                           │ │
│  │  ┌─────────────────────────────────────────────┐   │ │
│  │  │           Modul-System                       │   │ │
│  │  │                                               │   │ │
│  │  │  Vectorizer:                                 │   │ │
│  │  │  ┌──────────────┐ ┌──────────────┐         │   │ │
│  │  │  │ text2vec-    │ │ text2vec-    │         │   │ │
│  │  │  │ openai       │ │ huggingface  │         │   │ │
│  │  │  └──────────────┘ └──────────────┘         │   │ │
│  │  │                                               │   │ │
│  │  │  Reader/Generatoren:                         │   │ │
│  │  │  ┌──────────────┐ ┌──────────────┐         │   │ │
│  │  │  │ qna-openai   │ │ generative-  │         │   │ │
│  │  │  │ (Q&A)        │ │ openai (RAG) │         │   │ │
│  │  │  └──────────────┘ └──────────────┘         │   │ │
│  │  └─────────────────────────────────────────────┘   │ │
│  │                         │                           │ │
│  │                         ▼                           │ │
│  │  ┌─────────────────────────────────────────────┐   │ │
│  │  │           Speicher-Engine                    │   │ │
│  │  │                                               │   │ │
│  │  │  ┌─────────────────────────────────────┐   │   │ │
│  │  │  │         HNSW Vektor-Index            │   │   │ │
│  │  │  │  (In-Memory für Geschwindigkeit)     │   │   │ │
│  │  │  └─────────────────────────────────────┘   │   │ │
│  │  │                                               │   │ │
│  │  │  ┌─────────────────────────────────────┐   │   │ │
│  │  │  │       Invertierter Index (BM25)      │   │   │ │
│  │  │  │  (Keyword-Suche, Filterung)          │   │   │ │
│  │  │  └─────────────────────────────────────┘   │   │ │
│  │  │                                               │   │ │
│  │  └─────────────────────────────────────────────┘   │ │
│  │                                                      │ │
│  └─────────────────────────────────────────────────────┘ │
│                                                            │
│                                                            │
│  HYBRIDE SUCHE (Einzigartiges Feature):                    │
│  ──────────────────────────────────────                    │
│                                                            │
│  ┌─────────────────────────────────────────────────────┐ │
│  │                                                      │ │
│  │  Abfrage: "machine learning best practices"         │ │
│  │                                                      │ │
│  │  Vektor-Suche (semantisch):                         │ │
│  │  Findet konzeptuell ähnliche Docs über:             │ │
│  │  • "ML Deployment Richtlinien"                     │ │
│  │  • "KI Model Training Tipps"                       │ │
│  │                                                      │ │
│  │           +  FUSION (gewichtete Kombination)        │ │
│  │                                                      │ │
│  │  Keyword-Suche (BM25):                              │ │
│  │  Findet exakte Keyword-Matches:                     │ │
│  │  • Docs mit wörtlicher Phrase                      │ │
│  │  • Technische Dokumente, Code-Kommentare           │ │
│  │                                                      │ │
│  │  Ergebnis: Das Beste aus beiden Welten             │ │
│  │  • Semantisches Verständnis + exaktes Matching     │ │
│  │  • Konfigurierbares Alpha (Vektor vs Keyword)      │ │
│  │                                                      │ │
│  └─────────────────────────────────────────────────────┘ │
│                                                            │
└────────────────────────────────────────────────────────────┘

Häufige Fragen

F: Wann Weaviate vs Milvus verwenden?

A: Weaviate für einfachere Entwicklung (integrierte Vektorisierung, GraphQL), besser für kleinere Teams. Milvus für maximale Skalierung (Milliarden Vektoren), GPU-Beschleunigung, und wenn Sie bereits Embedding-Pipelines haben.

F: Wie funktioniert Weaviates hybride Suche?

A: Kombiniert BM25-Keyword-Scoring mit Vektor-Ähnlichkeit, fusioniert Ergebnisse mit konfigurierbarem Alpha-Gewicht. Alpha=1.0 ist reiner Vektor; Alpha=0.0 ist reines Keyword.

F: Welche Embedding-Modelle unterstützt Weaviate?

A: OpenAI, Cohere, Hugging Face, Google PaLM, lokale Transformer-Modelle und benutzerdefinierte Modelle über die API.

Verwandte Begriffe


Referenzen

Weaviate (2024), “Weaviate Documentation”, Weaviate. [Offizielle Dokumentation]

van Hagen et al. (2021), “Weaviate: A Cloud-Native, Real-Time Vector Search Engine”, DB-Engines Blog. [Architektur-Übersicht]

Weaviate (2023), “Hybrid Search Explained”, Weaviate Blog. [Hybride Suche Deep Dive]

SeMI Technologies (2024), “Weaviate Modules”, Weaviate. [Modul-Ökosystem]

References

Weaviate (2024), “Weaviate Documentation”, Weaviate. [Official documentation]

van Hagen et al. (2021), “Weaviate: A Cloud-Native, Real-Time Vector Search Engine”, DB-Engines Blog. [Architecture overview]

Weaviate (2023), “Hybrid Search Explained”, Weaviate Blog. [Hybrid search deep dive]

SeMI Technologies (2024), “Weaviate Modules”, Weaviate. [Module ecosystem]