Architektur
Übersicht über alle Komponenten einer DataVault-Bereitstellung
Komponenten
Eine DataVault-Bereitstellung besteht aus mehreren Komponenten, die zusammenarbeiten, um Daten zu erfassen, zu verarbeiten und zu speichern. Die folgende Übersicht zeigt die Hauptkomponenten und ihre Funktionen.
DataVault
Der DataVault ist das Herzstück einer DataVault-Bereitstellung. Seine Hauptaufgabe ist es, Daten aus verschiedenen Quellen zu lesen, zu verarbeiten und in der Vektordatenbank zu speichern sowie Suchanfragen von meinGPT zu beantworten. Zu diesem Zweck werden die Daten mithilfe eines speziellen KI-Modells, dem Embedding-Modell, in Vektoren umgewandelt, die in der Vektordatenbank gespeichert werden. Dies ermöglicht eine effiziente Suche nach semantisch ähnlichen Textpassagen über Tausende von Dokumenten hinweg.
Der DataVault wird als Docker-Image über Docker Hub unter https://hub.docker.com/r/meingpt/datavault bereitgestellt und kann auf jedem System betrieben werden, das Docker unterstützt.
Vektordatenbank
Die Vektordatenbank speichert die vom Embedding-Modell erstellten Vektoren und ermöglicht eine effiziente Suche nach ähnlichen Vektoren. Der meinGPT DataVault verwendet die Weaviate Vektordatenbank, die speziell für diese Art von Anwendung entwickelt wurde.
Weaviate bietet:
- Effiziente Ähnlichkeitssuche über Millionen von Vektoren
- Horizontale Skalierbarkeit für große Datenmengen
- Persistente Speicherung von Vektoren und Metadaten
- Einfache Integration über REST API und gRPC
- Unterstützung verschiedener Ähnlichkeitsmetriken (Kosinus, Skalarprodukt, Euklidisch)
- Filterung von Suchergebnissen basierend auf Metadaten
Die Vektordatenbank wird als Docker-Container bereitgestellt und kann zusammen mit dem DataVault auf demselben System betrieben werden.
Embedding-Modell
Das Embedding-Modell ist ein KI-Modell, das Text in mathematische Vektoren (Embeddings) umwandelt. Diese Vektoren repräsentieren die Bedeutung des Textes in einem hochdimensionalen Raum, sodass semantisch ähnliche Texte auch ähnliche Vektoren erzeugen.
Die Qualität des Embedding-Modells hat direkten Einfluss auf die Qualität der Suchergebnisse:
- Je besser das Modell, desto besser versteht es die Bedeutung der Texte
- Je mehr Dimensionen die Vektoren haben, desto genauer können Bedeutungsnuancen dargestellt werden
- Je größer das Modell, desto mehr Rechenleistung wird benötigt
Der DataVault unterstützt verschiedene Embedding-Modelle:
- Cloud-basierte Modelle von OpenAI, Azure und Nebius
- Lokale Modelle von HuggingFace