Embedding-Modelle für lokale KI
Was dieser Artikel über Embedding-Modelle behandelt
- Was Embeddings sind und wie sie funktionieren.
- Wie Text, Bilder oder gemischte Daten in Vektoren umgewandelt werden.
- Welche Embedding-Modelle sich für deutsche Texte eignen.
- Wie Embeddings in RAG und semantische Suche genutzt werden.
- Auswahl, Dimensionen, Metriken und typische Stolpersteine.
Einleitung: Embedding-Modelle für lokale KI
Embedding-Modelle sind das Herzstück vieler KI-Anwendungen. Sie verwandeln Text, Bilder oder andere Daten in Vektoren, also Reihen von Zahlen. Diese Vektoren erfassen die Bedeutung eines Inhalts. Ähnliche Inhalte landen im Vektorraum nah beieinander. Das ermöglicht Suche, Clustering und Empfehlungen.
RAG-Systeme, semantische Suche und Dokumentenanalyse funktionieren alle mit Embeddings. Ein gutes Embedding-Modell ist oft wichtiger als ein riesiges Sprachmodell. Denn selbst das beste Sprachmodell kann nur auf korrekte, passende Treffer antworten, wenn die Suche auch die richtigen Chunks findet.
Warum brauche ich Embedding-Modelle?
Wer Dokumente, Bilder oder Audioclips durchsuchen will, braucht mehr als einfaches Stichwortsuchen. Embeddings ermöglichen semantische Suche. Man kann nach Konzepten suchen, statt nur nach exakten Wörtern. Beispiele:
- “Wie hoch ist die Kündigungsfrist?” findet den passenden Vertragspassus, auch wenn die Frage anders formuliert ist.
- “Probleme bei der GPU-Installation” findet den passenden Fehlerbehebungsabschnitt.
- “Ähnliche Kundenbeschwerden” findet frühere Tickets mit ähnlicher Bedeutung.
Embeddings machen unstrukturierte Daten suchbar.
Embedding-Modelle kurz erklärt
Ein Embedding-Modell nimmt einen Eingabetext und gibt einen Vektor fester Länge zurück. Die Länge wird als Dimension bezeichnet. Gängige Dimensionen liegen zwischen 384 und 4096. Hinter dem Modell steht meist ein Transformer, der Bedeutung in Zahlen kodiert.
Wichtige Begriffe:
- Embedding: Vektor, der die Bedeutung eines Inhalts darstellt.
- Dimension: Länge des Vektors.
- Vektordatenbank: Speicher, der Embeddings effizient durchsucht.
- Semantische Suche: Suche nach Bedeutung statt nach exakten Wörtern.
- Kosinus-Ähnlichkeit: Maß für die Nähe zweier Vektoren.
- Reranking: Nach der Suche die besten Treffer neu bewerten.
Für wen sind Embedding-Modelle gedacht?
- Für Entwickler, die RAG-Systeme bauen.
- Für Teams, die Dokumente oder Tickets durchsuchen wollen.
- Für Forscher, die Daten analysieren.
- Für Alle, die semantische Suche lokal betreiben wollen.
Wichtige Begriffe rund um Embeddings
- Sentence Transformers: Bibliothek und Modellklasse für Satz-Embeddings.
- E5, BGE, GTE: Beliebte Embedding-Modellfamilien.
- Multilingual: Unterstützung mehrerer Sprachen, einschließlich Deutsch.
- MTEB: Benchmark für Embedding-Modelle.
- Sparse Vectors: Vektoren mit wenigen Nicht-Null-Werten, z. B. BM25.
- Dense Vectors: Normale Embeddings mit vielen Werten.
Gängige Embedding-Modelle
all-MiniLM-L6-v2
Klein und schnell. 384 Dimensionen. Geeignet für Prototypen und kleinere Datenmengen. Deutsch funktioniert, aber nicht so gut wie spezialisierte multilingual Modelle.
BGE-m3
Multilinguales Modell von BAAI. Guter Kompromiss aus Qualität und Größe. 1024 Dimensionen. Unterstützt auch sparse retrieval. Stark für RAG.
nomic-embed-text-v1.5
Open-Source-Embedding-Modell mit guter Performance. 768 Dimensionen. Gute deutsche Qualität und kommerzielle Lizenz.
e5-mistral-7b-instruct
Großes Modell mit sehr hoher Qualität. Braucht deutlich mehr Ressourcen. Nur sinnvoll, wenn maximale Qualität nötig ist.
Praxisbeispiel: Embedding mit Python
Mit sentence-transformers lassen sich schnell Embeddings erzeugen:
from sentence_transformers import SentenceTransformer
model = SentenceTransformer('BAAI/bge-m3')
texte = ['Hallo Welt', 'Lokale KI ist datenschutzkonform']
embeddings = model.encode(texte)
print(embeddings.shape)
Die Ausgabe zeigt die Dimension des Vektors und die Anzahl der Texte.
Embeddings in Vektordatenbanken
Nach der Erzeugung werden Embeddings in einer Vektordatenbank gespeichert. Bei einer Suche wird die Frage ebenfalls in einen Vektor umgewandelt. Die Datenbank findet die nächsten Nachbarn. Beliebte Datenbanken:
- Chroma: Einfach, gut für Prototypen.
- Qdrant: Schnell, skalierbar, Docker-fähig.
- pgvector: Erweiterung für PostgreSQL.
- Weaviate: Enterprise-Features, modular.
Dimensionen, Größe und Geschwindigkeit
- Kleinere Dimensionen: Weniger Speicher, schnellere Suche, geringere Qualität.
- Größere Dimensionen: Mehr Speicher, langsamere Suche, bessere Qualität.
- Quantisierung: Verringert die Größe der Vektoren mit wenig Qualitätsverlust.
Für die meisten lokalen RAG-Systeme reichen 768 bis 1024 Dimensionen.
Typische Stolpersteine bei Embedding-Modellen
- Falsche Sprache: Englische Modelle funktionieren für Deutsch schlecht.
- Zu kleine Chunks: Kontext geht verloren, Embeddings werden ungenau.
- Falsche Metrik: Kosinus-Ähnlichkeit ist Standard, aber nicht immer optimal.
- Kein Reranking: Erste Treffer sind gut, aber Reranking verbessert gezielt.
- Passage vs. Query: Manche Modelle brauchen für Fragen und Texte unterschiedliche Prompts.
- Lizenz: Nicht alle Modelle sind kommerziell nutzbar.
Weiterführende Links und Infos
- BotServ.de Lokales RAG
- BotServ.de Vektordatenbanken
- BotServ.de Reranking
- Sentence Transformers
- MTEB Benchmark
FAQ: Embedding-Modelle
Was ist der Unterschied zu einem LLM? Ein LLM erzeugt Text, ein Embedding-Modell erzeugt Vektoren.
Wie groß sollte ein Embedding-Modell sein? Für die meisten Fälle reichen 768 bis 1024 Dimensionen. Größer ist nur selten nötig.
Kann ich Embeddings auf der CPU erzeugen? Ja, besonders mit kleineren Modellen geht das gut.
Welche Modellfamilie ist empfehlenswert? BGE, E5, GTE und nomic-embed-text sind gute Startpunkte.
Sind Embeddings für Bilder möglich? Ja, mit multimodalen Modellen wie CLIP.
Wie lange dauert das Indizieren vieler Dokumente? Je nach Modell und Hardware wenige Minuten bis Stunden. Mit GPU deutlich schneller.
Quellen und weiterführende Literatur
- Sentence Transformers: https://www.sbert.net/
- MTEB: https://huggingface.co/spaces/mteb/leaderboard
- BGE: https://huggingface.co/BAAI
- nomic-embed-text: https://huggingface.co/nomic-ai/nomic-embed-text-v1.5
Zusammenfassung: Embedding-Modelle für lokale KI
Embedding-Modelle sind die Basis für semantische Suche und RAG. Sie verwandeln Text in Vektoren und ermöglichen bedeutungsbasiertes Suchen. Multilinguale Modelle wie BGE, nomic-embed-text oder E5 eignen sich für deutschsprachige Anwendungen. Wichtig sind Sprache, Dimension, Chunking und passende Vektordatenbank. Wer das richtige Modell wählt, legt damit den Grundstein für gute RAG-Ergebnisse.


