Zurück zum Blog

Hybrid Search erklärt: Warum zwei Suchen mehr finden als eine

„E-217“ findet nur die Stichwortsuche, „Maschine wird zu heiß“ nur die Vektorsuche. Wie BM25 und Vektorsuche sich ergänzen und wie Reciprocal Rank Fusion die Ergebnislisten zusammenführt.

4 Min. Lesezeitvon Daniel AlischRAG, Engineering

Zwei Fragen an denselben Assistenten. Erst: „Maschine wird zu heiß“. Dann: „E-217“. Die erste findet eine Vektorsuche mühelos, weil der Artikel „Lagertemperatur zu hoch“ dasselbe meint. Die zweite findet sie oft nicht, weil „E-217“ für ein Embedding kaum mehr als eine Zeichenkette ist. Bei einer Stichwortsuche ist es genau umgekehrt. Wer nur eine der beiden Suchen betreibt, hat also eine Sorte Fragen, die ins Leere läuft.

Das ist der vierte Teil der Reihe über RAG. Nach den Embeddings geht es um die Lösung für dieses Problem: Hybrid Search.

Teil 4: Zwei Suchen finden mehr als eine

Warum du das brauchst

Im Alltag eines Servicetechnikers kommen beide Sorten Fragen vor. Er fragt nach Störcodes und Teilenummern, wo es auf die exakte Zeichenkette ankommt. Und er fragt in eigenen Worten, wo es auf die Bedeutung ankommt. Eine Suche, die nur eines kann, enttäuscht ihn bei einem Teil seiner Fragen, und er lernt schnell, dem Assistenten nicht mehr zu trauen.

Hybrid Search lässt beide Suchen parallel laufen und führt die Ergebnislisten zu einer zusammen. Dadurch kann jede Suche die blinden Flecken der anderen ausgleichen.

Wie es funktioniert

Die beiden Suchen haben unterschiedliche Stärken:

Stichwortsuche (BM25)Vektorsuche (Embeddings)
Findetwas dastehtwas gemeint ist
Stark beiStörcodes, Namen, FachbegriffenUmschreibungen, anderer Wortwahl
Oft schwach beiSynonymen: „zu heiß“ findet „Lagertemperatur“ nichtexakten Kennungen wie E-217

BM25 zählt die Suchwörter in einem Chunk (jedes weitere Vorkommen bringt weniger), gewichtet seltene Wörter höher als häufige und gleicht die Länge des Chunks teilweise aus. Ein Wort wie „E-217“, das nur in einem Artikel steht, wiegt dadurch schwer.

Zum Verschmelzen gibt es zwei gängige Wege. Die gewichtete Summe normalisiert beide Scores auf 0 bis 1 und rechnet α · semantisch + (1 − α) · stichwort. Das ist anschaulich, aber empfindlich, weil BM25 keine feste Skala hat. Die Reciprocal Rank Fusion (RRF) ignoriert die Scores und nutzt nur die Platzierungen:

RRF(d) = Σ 1 / (k + rang(d)) mit k = 60

Ein Dokument, das in beiden Listen weit vorn steht, sammelt zwei große Beiträge. Im Originalpaper (Cormack, Clarke und Büttcher, 2009) lieferte RRF durchweg bessere Ergebnisse als die einzelnen Systeme und als das Vergleichsverfahren Condorcet Fuse. Der Wert k = 60 wurde dort in Vorversuchen festgelegt, war nahezu optimal und nicht kritisch. Das macht RRF robust und wenig aufwendig im Tuning. Azure AI Search nutzt RRF bei Hybridabfragen automatisch, Elasticsearch und OpenSearch bieten sie ebenfalls an, jeweils mit 60 als Vorgabewert.

Das Labor startet bei „E-217“ im Modus Stichwort. Schalte dann auf Vektor und Hybrid und schau, was in den Prompt wandert und ob die richtige Quelle dabei ist. Die Balken zeigen dir pro Artikel, wie die beiden Suchen ihn bewerten.

Die interessanteste Frage ist „Dichtung GD-4711 nachbestellen“. Die Stichwortsuche setzt die Anleitung zum Dichtungstausch vor die Bestellanleitung, die Vektorsuche die Gewährleistung. Die gesuchte Bestellanleitung (D4) steht in beiden Listen auf Platz 2, und in der Hybridsuche rutscht sie auf Platz 1. Kein Einzelergebnis hätte das geschafft.

LaborSuchlabor: Stichwort, Vektor und HybridBM25 live berechnet, Embeddings vereinfacht, Reranker simuliert

E-217 steht als ein Wort in genau einem Artikel. Die Stichwortsuche findet D1 sofort, weil sie exakte Zeichenketten vergleicht.

RangArtikelStichwortVektorBM25Prompt
1D1 Störcode E-217richtige Quelle1,000,542,17geht in den Prompt
–D2 Lagertemperatur zu hoch0,000,60kein Treffer
–D3 Gleitringdichtung tauschen0,000,77kein Treffer
–D4 Ersatzteile bestellen0,000,49kein Treffer
–D5 Wartungsintervalle P-2000,000,56kein Treffer
–D6 Fernwartung einrichten0,000,58kein Treffer
–D7 Einsatz vor Ort0,000,56kein Treffer
–D8 Gewährleistung0,000,62kein Treffer
–D9 Steuerung neu starten und Firmware aktualisieren0,000,70kein Treffer

Balken: Stichwort relativ zum besten BM25-Wert, Vektor als Kosinus-Ähnlichkeit. Ohne Rang sind Artikel, die in der gewählten Suche keinen Treffer haben. Füllwörter wie „zu“, „der“ oder „die“ werden in diesem Labor nicht mitgezählt; ob sie zählen, hängt vom Analyzer der Suchmaschine ab.

Daraus entsteht dieser Prompt
Beantworte die Frage ausschließlich anhand der Quellen. Nenne die
verwendete Quelle in eckigen Klammern. Wenn die Quellen nicht
reichen, sag das.

[D1] Störcode E-217: Die Steuerung meldet E-217, wenn der Druck auf
    der Saugseite unter 0,3 bar fällt. Häufigste Ursache ist ein
    verstopfter Saugfilter: Filter prüfen und reinigen, danach die
    Störung quittieren.

Frage: E-217

Richtige Quelle (D1) im Kontext, auf Platz 1. Das Modell kann richtig antworten.

Probier der Reihe nach: „E-217“ mit Stichwort, mit Vektor und mit Hybrid. Dann „Maschine wird zu heiß“, bei dem es umgekehrt ist. Und bei „Dichtung GD-4711 nachbestellen“ siehst du, wie Hybrid die richtige Quelle auf Platz 1 bringt, obwohl keine Einzelsuche sie dort hat. Wechsle bei Hybrid zwischen RRF und gewichteter Fusion und bewege den Regler.

Worauf du achten solltest

  • Beide Suchen laufen lassen. Eine reine Vektorsuche verpasst leicht Codes und Teilenummern, eine reine Stichwortsuche Umschreibungen. Teste mit beiden Sorten Fragen.
  • RRF als Start. Wenn du nicht weißt, wie du die Scores gewichten sollst, nimm RRF. Sie hängt nur an den Rängen und überlebt, dass BM25-Werte keine feste Skala haben.
  • Gewichtung bewusst wählen. Bei der gewichteten Summe entscheidet α, wie viel die Vektorsuche zählt. Verschiebe den Regler im Labor und beobachte, wie sich die Reihenfolge ändert.
  • Fehlende Treffer bleiben fehlende Treffer. Findet keine der beiden Suchen etwas, hilft auch die Fusion nicht. Bei Fragen ohne passenden Artikel sollte das Modell sagen, dass die Quellen nicht reichen.
  • Hybrid ist nicht automatisch richtig. Bei „Techniker zum Kunden schicken“ stehen auch in der Hybridsuche Fernwartung vor Einsatz vor Ort. Warum, und was dagegen hilft, ist Thema des nächsten Teils.

Fazit

Stichwortsuche findet, was dasteht, Vektorsuche findet, was gemeint ist. Hybrid Search nutzt beide und fasst sie mit RRF oder einer gewichteten Summe zusammen. Das fängt viele Fehler ab, aber nicht alle: Die richtige Quelle landet oft im Kandidatenfeld, steht aber nicht ganz vorn. Wie du die besten Treffer nach vorn bringst, zeigt der nächste Teil: Reranking erklärt.

Quellen

LaborZum Mitnehmen: Hybrid Search3 Fragen
  1. 1.Was kombiniert Reciprocal Rank Fusion (RRF)?

  2. 2.Wobei ist die Stichwortsuche (BM25) der Vektorsuche überlegen?

  3. 3.Warum ist die gewichtete Summe zweier Scores als Fusion empfindlich?

0 von 3 beantwortet

Weiterlesen