Embeddings und Vektordatenbanken einfach erklärt: Praxis-Vergleich
Was sind Embeddings und Vektordatenbanken ohne Mathe? Praxisvergleich von bge-m3 und nomic-embed-text mit Testergebnissen und RAG-Einsatz.
👁 114 Aufrufe
Ein Embedding verwandelt Text in eine Zahlenreihe (einen Vektor), bei der sinngleiche Texte ähnliche Zahlenmuster erhalten. Eine Vektordatenbank speichert diese Vektoren und findet blitzschnell jene Einträge, die einer Suchanfrage inhaltlich am nächsten kommen. Darauf basieren semantische Suche, RAG-Pipelines und das Langzeitgedächtnis von KI-Agenten. Im Folgenden erkläre ich das Prinzip ohne mathematischen Ballast und zeige die Ergebnisse eines Tests zweier kostenloser Embedding-Modelle anhand von Gesetzestexten: Ein Modell fand den relevanten Paragrafen in 8 von 10 Fällen, das andere nur in 4. Dieser Leitfaden gehört zur Reihe KI-Agenten von Grund auf.
Stand: 4. Oktober 2026
- Getestet wurden zwei lokal ausgeführte Modelle via Ollama 0.35.1 auf einer GeForce RTX 4090:
bge-m3(MIT-Lizenz) undnomic-embed-text(Apache 2.0). Beide sind kommerziell nutzbar. - Testumfang: 5 Vergleichssätze sowie 10 Abfragen an 920 Textabschnitte aus drei Gesetzestexten. Wir haben diese Textbasis und Abfragen auf Polnisch getestet.
- Kosten: 0 EUR, vollständig lokal berechnet.
- Der Testcode stammt aus dem Paket Agenten-Starter-Archiv (
04_rag.py).
Was ist ein Embedding? Einfach erklärt
Stellen Sie sich eine Landkarte vor, auf der jeder Satz ein Punkt ist. Aussagen über Mietkautionen liegen dicht beieinander, Sätze über Erholungsurlaub etwas weiter entfernt und Bemerkungen zum Wetter am anderen Ende der Karte. Ein Embedding liefert die exakten Koordinaten eines Satzes auf dieser Karte. Der Unterschied zum Alltag: Die Karte besitzt nicht nur zwei Dimensionen, sondern mehrere Hundert oder über Tausend.
So sieht der Beginn des Embeddings für die Frage „Wie hoch ist die Mietkaution für eine Wohnung?“ (im Test auf Polnisch formuliert: „Ile wynosi kaucja za wynajem mieszkania?“) aus dem Modell bge-m3 aus:
[-0.0375, 0.0463, -0.0196, -0.0042, 0.0015, ... ] (insgesamt 1024 Zahlen)
Die einzelnen Zahlenwerte sagen isoliert betrachtet nichts aus. Entscheidend ist der geometrische Abstand zwischen zwei Vektoren. Dieser wird meist als Kosinus-Ähnlichkeit (Cosine Similarity) berechnet: Der Wert 1 steht für identische Richtung und Bedeutung, Werte um 0 bedeuten keinen inhaltlichen Zusammenhang.
Modellvergleich: Test anhand von Beispielsätzen
Für den Test wurde der Satz „Wie hoch ist die Mietkaution für eine Wohnung?“ mit vier anderen Formulierungen verglichen. Ein leistungsfähiges Modell sollte dem inhaltlich identischen Satz den höchsten Ähnlichkeitswert zuweisen - selbst bei abweichender Wortwahl oder in einer anderen Sprache. Die folgenden Aussagen sind deutsche Übersetzungen unseres polnischen Testmaterials:
| Verglichener Satz (deutsche Übersetzung) | bge-m3 | nomic-embed-text |
|---|---|---|
| How much is the rental deposit for a flat? (dieselbe Bedeutung auf Englisch) | 0,736 | 0,416 |
| Welche Kaution zahlt der Mieter der Räumlichkeiten? (gleicher Sinn, andere Worte) | 0,678 | 0,665 |
| Pfand für Mehrwegflaschen im Geschäft (gleiches Stichwort Kaution/Pfand, anderer Sinn) | 0,569 | 0,713 |
| Wie viele Urlaubstage stehen mir im Jahr zu? (völlig anderes Thema) | 0,442 | 0,755 |
bge-m3 ordnete die Sätze genau so ein, wie es ein Mensch tun würde: Die englische Übersetzung erzielte die höchste Nähe, gefolgt von der Paraphrase, danach das Flaschenpfand und zuletzt der Urlaub. nomic-embed-text stufte dagegen die Urlaubsfrage als am ähnlichsten zur Mietkaution ein, während die englische Übersetzung am schlechtesten abschnitt. Da dieses Modell primär auf englischen Texten trainiert wurde, reagiert es bei nicht-englischen Sätzen eher auf Satzbaumuster („Wie viel… / Wie viele…“) als auf die eigentliche Bedeutung.
Praxistest: Suche in Gesetzestexten
Im Leitfaden RAG Schritt für Schritt haben wir eine Suchmaschine über arbeits-, miet- und patientenrechtliche Gesetzestexte mit 920 Textabschnitten aufgesetzt. Wir haben den Test auf Polnisch durchgeführt: 10 umgangssprachliche Fragen wurden gestellt, um zu ermitteln, an welcher Position der Suchergebnisse der zutreffende Artikel erschien.
| Eigenschaft | bge-m3 | nomic-embed-text |
|---|---|---|
| Passender Artikel auf Platz 1 | 5 von 10 | 2 von 10 |
| Passender Artikel in den Top 5 | 8 von 10 | 4 von 10 |
| Vektordimensionen | 1024 | 768 |
| Maximale Kontextlänge (in Ollama) | 8192 Token | 2048 Token |
| VRAM-Bedarf nach dem Laden | 664 MB | 323 MB |
| Indexgröße für 920 Abschnitte | 8,5 MB | 7,5 MB |
| Indexierungsdauer für 920 Abschnitte* | 155 s | 105 s |
| Ähnlichkeitsabstand (themenfremde Frage vs. Treffer) | 0,43 vs. 0,64-0,72 | 0,69 vs. 0,69-0,77 |
| Lizenz | MIT | Apache 2.0 |
* Die Grafikkarte war während der Messung durch einen Hintergrundprozess teilbelastet; die Laufzeiten dienen daher als Richtwerte. Ohne Nebenlast arbeiten beide Modelle schneller.
Die letzte Zeile ist für den Praxiseinsatz von zentraler Bedeutung: Bei bge-m3 erzielte eine themenfremde Testfrage zum Tempolimit auf Autobahnen (in den hinterlegten Texten nicht enthalten) eine Ähnlichkeit von maximal 0,43 - deutlich unterhalb relevanter Treffer. Dadurch lässt sich ein fester Schwellenwert definieren, ab dem das System direkt meldet: „Dazu liegen keine Informationen vor“, ohne das Sprachmodell unnötig abzufragen. Bei nomic-embed-text lagen fast alle Werte um 0,7, wodurch eine saubere Trennung unmöglich wird.
Was ist eine Vektordatenbank?
Eine Vektordatenbank speichert Embeddings zusammen mit dem Originaltext sowie Metadaten (Dateiname, Paragraf, Datum) und ermöglicht das schnelle Auffinden der Vektoren mit dem geringsten Abstand. Bei kleineren Datenmengen genügt bereits ein einfaches NumPy-Array: 920 Vektoren belegen lediglich 8,5 MB, und die Suche entspricht einer simplen Matrixmultiplikation. Eine spezialisierte Datenbank empfiehlt sich in folgenden Szenarien:
- Sie verwalten Hunderttausende Abschnitte, und lineare Berechnungen verlangsamen die Antwortzeit spürbar.
- Sie müssen Ergebnisse nach Metadaten filtern (z. B. „nur Arbeitsrecht“, „nur Dokumente aus dem Jahr 2026“).
- Neue Dokumente kommen laufend hinzu, und ein Neuberechnen des Gesamtindex wäre ineffizient.
- Mehrere Nutzer oder Systeme greifen parallel auf den Suchdienst zu.
| Lösung | Betriebsumgebung | Zielgruppe |
|---|---|---|
| numpy (.npz-Datei) | Direkt im eigenen Skript | Erste Experimente, bis zu einigen zehntausend Abschnitten |
| Chroma | Lokal, dateibasiert oder Server | Einstiegsprojekte, Prototypen |
| pgvector (PostgreSQL) | Integrierte PostgreSQL-Instanz | Bestehende PostgreSQL-Infrastruktur, zentrale Datenhaltung |
| Qdrant, Weaviate, Milvus | Eigener Server oder Cloud | Große Datenbestände, hohe Nutzerzahlen |
Im Test lieferte Chroma 1.5.9 für dieselben Daten identische Ergebnisse wie das pure NumPy-Array. Eine Vektordatenbank steigert nicht die semantische Treffergenauigkeit, sondern vereinfacht Verwaltung und Skalierung. Die Ergebnisqualität hängt vom gewählten Embedding-Modell und dem Text-Chunking ab.
So wählen Sie das richtige Embedding-Modell aus
- Setzen Sie auf ein mehrsprachiges Modell. Bei den kostenlosen lokalen Optionen erwies sich
bge-m3im mehrsprachigen Einsatz als sehr zuverlässig. - Erstellen Sie ein kleines Evaluierungsset aus 10 bis 20 Fragen, deren genaue Quellabschnitte Sie kennen. Ohne eigene Tests bleibt die Modellauswahl reines Raten.
- Messen Sie die Metrik „Relevanter Treffer in den Top 5“, da typische RAG-Setups meist genau diese Anzahl an Kontextblöcken an das LLM weitergeben.
- Prüfen Sie den Abstand zu Abfragen außerhalb des Themas. Eine ausgeprägte Lücke erlaubt es, Schwellenwerte für Nichtwissen zu definieren.
- Beachten Sie modellspezifische Präfixe:
nomic-embed-textverlangt vor Fragen den Zusatzsearch_query:und vor Dokumentensearch_document:. Fehlen diese Prefixe, sinkt die Trefferquote weiter.
Embeddings lassen sich auch über kommerzielle Cloud-APIs (OpenAI, Google, Mistral, Cohere) erzeugen. Dabei wird nach Token abgerechnet, während die Texte an den externen Anbieter übermittelt werden. Wie Tokenzählung und Abrechnung funktionieren, erläutert unser Beitrag über Token.
Anwendungsbereiche jenseits von RAG
- Intelligente Suche in Shops oder Dokumentationen, die beispielsweise bei der Suche nach „Schuhe für Regenwetter“ eigenständig auf „wasserfestes Schuhwerk“ verweist.
- Duplikaterkennung bei Support-Tickets, Forenbeiträgen oder Artikeln.
- Automatisches Clustern von Kundenfeedback nach Themenschwerpunkten ohne manuelles Tagging.
- Gedächtnis für autonome Agenten: Der Agent legt Erkenntnisse als Vektoren ab und ruft bei neuen Aufgaben vergleichbare historische Fälle ab. Konkrete Implementierungen finden Sie unter KI-Agenten: 12 Praxisbeispiele.
Häufige Fragen (FAQ)
Was ist ein Embedding in einem Satz?
Eine Liste von Zahlen, die den inhaltlichen Sinn eines Textes abbildet, sodass Computer Texte nach ihrer Bedeutung statt nach reinen Buchstabenketten vergleichen können.
Worin liegt der Unterschied zwischen Token und Embedding?
Ein Token ist ein Textbaustein (oft ein Wortteil), in den das Modell einen Text zerlegt. Ein Embedding ist der fertige Vektor, der die Bedeutung eines gesamten Textabschnitts zusammenfasst. Das Modell teilt den Text somit zuerst in Token und errechnet daraus den Vektor.
Wird für Embeddings zwingend eine Grafikkarte benötigt?
Nein. Kompakte Modelle laufen problemlos auf Standard-CPUs, benötigen dort lediglich mehr Rechenzeit. Da bge-m3 im Test rund 664 MB Videospeicher belegte, genügt fast jede moderne Grafikkarte der letzten Jahre.
Können Vektoren unterschiedlicher Modelle kombiniert werden?
Nein. Jedes Modell besitzt ein eigenes mathematisches Koordinatensystem. Die Suchanfrage muss mit exakt demselben Modell vektorisiert werden wie die hinterlegten Dokumente. Nach einem Modellwechsel muss der gesamte Datenbestand neu berechnet werden.
Vektordatenbank oder klassische Datenbank?
Klassische relationale Datenbanken suchen nach Zeichenketten und exakten Werten, Vektordatenbanken nach Bedeutungsnähe. Die besten Resultate erzielt oft die hybride Suche: Stichworte finden gezielt Eigennamen, Artikel- oder Aktennummern, während Vektoren Paraphrasen und Synonyme abdecken.
Welche Kosten entstehen bei Embeddings?
Bei lokaler Ausführung fallen lediglich die Stromkosten des Rechners an. Cloud-APIs berechnen Embeddings zu sehr niedrigen Tarifen, üblicherweise im Bereich von Bruchteilen eines Dollars pro Million Token. Maßgeblich sind die Konditionen des jeweiligen Anbieters.
Google · Deine QuellenWissnox höher in Ihrem Google - mit einem KlickZu bevorzugten Quellen hinzufügen →Quellen und Testparameter
- bge-m3 und nomic-embed-text in der Modellbibliothek von Ollama (geprüft am 4.10.2026).
- Offizielle Dokumentation von Chroma.
- Messumgebung: Eigener PC (GeForce RTX 4090, Windows 11, Ollama 0.35.1), 4. Oktober 2026, 14:30-15:00 Uhr.
Tadpole Taxi: Warum manche Froschväter ihre Kinder bis zu 400 Meter weit tragen - und dann einfach auffressenBiologie
Chinas gescheiterter „Fluss am Himmel“: Warum wir Wolken nicht einfach anzapfen könnenKlima
Essensfenster statt Diätberatung: Wie einfaches Timing das Diabetesrisiko senken kannMedizin