Vektorsuche (semantische Suche)
Kurze Definition
Die Vektorsuche ist eine Abrufmethode, die die Elemente zurückgibt, deren Embeddings am nächsten zum Embedding der Anfrage sind, sodass die Ergebnisse nach Bedeutung und nicht nach gemeinsamen Schlüsselwörtern übereinstimmen. Es ist die übliche Engine der semantischen Suche.
Auf dieser Seite
Wie die Vektorsuche funktioniert
Jedes Dokument, jede Passage oder jedes Produkt wird in ein Embedding umgewandelt und in einem Index gespeichert. Zum Zeitpunkt der Abfrage wird die Frage mit demselben Modell eingebettet, und der Index gibt die nächsten Vektoren zurück, die normalerweise durch die Kosinusähnlichkeit gemessen werden. Ein Kunde, der "etwas Warmes zum Skifahren" fragt, kann eine Jacke finden, die als "isolierte, wasserdichte Winterjacke" beschrieben wird, obwohl kein Wort übereinstimmt.
Das Vergleichen einer Anfrage mit Millionen von Vektoren einzeln wäre langsam, daher verwenden Indizes approximative nächster-Nachbar-Algorithmen. HNSW, ein geschichteter Graph, der 2016 von Malkov und Yashunin beschrieben wurde, ist einer der am häufigsten verwendeten; er tauscht einen minimalen Verlust an Genauigkeit gegen eine sehr schnelle Suche ein. Open-Source-Erweiterungen wie pgvector bringen diese Indizes zu PostgreSQL.
Semantische Suche vs. Schlüsselwortsuche
Die Schlüsselwortsuche (BM25, Volltext, Trigramm-Matching) ist präzise bei genauen Begriffen: einer Produktreferenz, einer Marke, einem Fehlercode. Sie versagt bei Synonymen und Paraphrasen. Die Vektorsuche ist das Gegenteil: stark in der Bedeutung, schwach bei genauen Zeichenfolgen und seltenen Identifikatoren.
Deshalb verwenden die meisten Produktionssysteme hybride Suche: beide ausführen, dann die Ergebnisse zusammenführen oder neu bewerten. Dichte Abrufforschung wie die Arbeit von Karpukhin und Kollegen aus dem Jahr 2020 zur Fragenbeantwortung zeigte, wie sehr die semantische Abrufung die Rückrufquote verbessert, und Praktiker haben seitdem gelernt, wie sehr sie immer noch von einem Schlüsselwortpartner profitiert.
Fallen
Die Vektorsuche gibt immer etwas zurück, selbst wenn keine relevanten Ergebnisse vorhanden sind, daher benötigt ein System einen Relevanzschwellenwert oder eine Überprüfung, bevor die Ergebnisse verwendet werden. Es versteht keine Zahlen oder Einschränkungen: „unter 50 Euro, auf Lager, Größe M“ benötigt echte Filter auf strukturierten Daten. Und die Qualität hängt davon ab, wie der Inhalt aufgeteilt wurde: Zu lange Absätze verwischen die Bedeutung, zu kurze Absätze verlieren den Kontext.
Vektorsuche in AI SmartTalk
AI SmartTalk speichert Embeddings in PostgreSQL mit pgvector, mit einem HNSW-Index auf Produktdokumenten, und kombiniert Vektorsimilarität mit Trigramm- und Volltextsuche. Für Produkte fügt das Suchwerkzeug des Assistenten strukturierte Filter für Preis, Lagerbestand, Marke, Kategorie und Variantenattribute hinzu, sodass eine semantische Frage und eine präzise Einschränkung gemeinsam beantwortet werden können.
Häufig gestellte Fragen
Ist semantische Suche dasselbe wie Vektorsuche?
Semantische Suche ist das Ziel – Ergebnisse nach Bedeutung finden. Vektorsuche über Embeddings ist der gebräuchlichste Weg, dies zu erreichen, oft kombiniert mit Schlüsselwortsuche.
Brauche ich eine dedizierte Vektordatenbank?
Nicht unbedingt. Erweiterungen wie pgvector fügen PostgreSQL Vektorindizes hinzu, was für viele Anwendungen ausreicht und Vektoren neben den restlichen Daten hält.
Was ist hybride Suche?
Eine Suche, die Vektorsuche und Schlüsselwortsuche zusammen ausführt und die Ergebnisse zusammenführt, sodass sie sowohl umformulierte Fragen als auch genaue Begriffe wie Produktreferenzen behandelt.