Zurück zum Blog

Reranking erklärt: Wie die besten Treffer in den Prompt kommen

Die richtige Quelle steht im Kandidatenfeld, aber auf Platz 2. Wie ein Cross-Encoder-Reranker Frage und Chunk gemeinsam liest, warum er nur auf wenigen Kandidaten läuft und was top-k mit dem Prompt zu tun hat.

4 Min. Lesezeitvon Daniel AlischRAG, Engineering

Ein Servicetechniker tippt: „Techniker zum Kunden schicken“. Der Assistent findet zwei passende Artikel. Der erste beschreibt die Fernwartung: VPN-Zugang zur Steuerung, Freigabe durch den Betreiber. Der zweite beschreibt den Einsatz vor Ort: Die Disposition plant, beim Betreiber ist eine Sicherheitsunterweisung Pflicht. Gemeint war der zweite, aber der erste steht vorn, weil in ihm die Wörter „Techniker“ und „Kunden“ vorkommen.

Das ist der fünfte Teil der Reihe über RAG. Nach der Hybrid Search geht es um den Schritt, der aus einer ordentlichen Kandidatenliste eine gute Auswahl macht: Reranking.

Teil 5: Die besten Treffer noch einmal genau lesen

Warum du das brauchst

Die erste Suche muss schnell sein, weil sie über den ganzen Index läuft. Deshalb ist sie grob: Frage und Chunk werden getrennt in Vektoren übersetzt, und verglichen wird nur das Ergebnis. Dabei gehen Feinheiten verloren, etwa ob ein Chunk die Frage wirklich beantwortet oder nur zum selben Thema passt. Oft steht die richtige Quelle zwar unter den Kandidaten, aber nicht ganz vorn.

Das ist wichtig, weil in den Prompt nur wenige Chunks passen. Ein Modell, das mit der VPN-Anleitung statt der Einsatzplanung gefüttert wird, antwortet fachlich sauber und an der Frage vorbei. Mit Reranking holst du die bessere Reihenfolge nach, bevor der Prompt gebaut wird.

Wie es funktioniert

Ein Reranker, technisch meist ein Cross-Encoder, bekommt Frage und Chunk gemeinsam und bewertet direkt, wie gut der Chunk die Frage beantwortet. Das ist in der Regel genauer als der Vergleich zweier getrennt berechneter Vektoren, aber für Millionen Chunks zu teuer. Deshalb arbeitet man in zwei Stufen:

  1. Die schnelle Suche (Stichwort, Vektor oder beides) holt zum Beispiel die besten 50 Kandidaten.
  2. Der Reranker bewertet jedes Paar aus Frage und Kandidat und sortiert neu.
  3. Nur die besten gehen in den Prompt, die Azure-Dokumentation nennt als Beispiel fünf oder zehn.

Bekannte Reranker sind Cohere Rerank, BGE-Reranker und der Semantic Ranker in Azure AI Search.

Im Labor ist der Reranker simuliert: Für jede Frage steht ein fester Relevanzwert je Artikel fest, und der Schalter ordnet die besten fünf Kandidaten danach neu. Die Suche davor wird echt berechnet. Das Labor startet bei „Techniker zum Kunden schicken“ im Modus Hybrid ohne Reranking: D6 (Fernwartung) steht vorn, D7 (Einsatz vor Ort) auf Platz 2. Schalte „Reranking anwenden“ an. Die Zeilen gleiten an ihren neuen Platz, kleine Pfeile zeigen die Verschiebung, und D7 steht auf Platz 1. Achte auch auf den Prompt darunter, er verändert sich mit.

LaborSuchlabor: Reranking an und ausBM25 live berechnet, Embeddings vereinfacht, Reranker simuliert

Beide Suchen setzen D6 vor D7, die Fusion bestätigt das. D7 ist zwar im Prompt, steht aber hinter der Fernwartung statt vorn.

RangArtikelStichwortVektorRRF-WertPrompt
1D6 Fernwartung einrichten1,000,870,0328geht in den Prompt
2D7 Einsatz vor Ortrichtige Quelle0,000,760,0161geht in den Prompt
3D9 Steuerung neu starten und Firmware aktualisieren0,000,580,0159geht in den Prompt
4D3 Gleitringdichtung tauschen0,000,220,0156
5D4 Ersatzteile bestellen0,000,150,0154
6D5 Wartungsintervalle P-2000,000,140,0152
7D8 Gewährleistung0,000,070,0149
8D1 Störcode E-2170,000,070,0147
–D2 Lagertemperatur zu hoch0,000,00kein 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. RRF rechnet nur mit den Platzierungen: 1 / (60 + Rang) je Liste, addiert.

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.

[D6] Fernwartung einrichten: Für die Fernwartung braucht der
    Techniker einen VPN-Zugang zur Steuerung des Kunden. Der
    Betreiber muss den Zugriff freigeben.
[D7] Einsatz vor Ort: Vor-Ort-Einsätze plant die Disposition. Beim
    Betreiber ist eine Sicherheitsunterweisung Pflicht.
[D9] Steuerung neu starten und Firmware aktualisieren: Starte die
    Steuerung über den Hauptschalter neu. Die Firmware aktualisierst
    du danach im Servicemenü.

Frage: Techniker zum Kunden schicken

Richtige Quelle (D7) im Kontext, auf Platz 2. Das Modell kann richtig antworten.

Schalte „Reranking anwenden“ an und aus und schau, wie die Zeilen gleiten: Bei „Techniker zum Kunden schicken“ rückt D7 von Platz 2 auf Platz 1. Probier dasselbe bei „Dichtung GD-4711 nachbestellen“ und „E-217“ und achte darauf, wo der Reranker nichts ändert. Er ordnet nur die besten fünf Kandidaten neu, was nicht unter ihnen ist, holt er nicht zurück.

Probier danach „Dichtung GD-4711 nachbestellen“ und „E-217“. Dort ändert der Reranker an der obersten Platzierung nichts, und das ist richtig so: Er soll korrigieren, wo die erste Suche danebenlag, und nicht um jeden Preis etwas verschieben.

Ein Reranker kennt außerdem keinen Sonderfall deiner Firma. Er bewertet, wie gut ein Text zu einer Frage passt, nicht, ob er in deinem Haus gerade gültig ist. Gültigkeit und Berechtigung müssen vorher geklärt sein.

Worauf du achten solltest

  • Der Reranker sortiert nur, was die Suche liefert. Was nicht unter den Kandidaten ist, holt er nicht zurück. Im Labor siehst du das: Er ordnet nur die besten fünf neu. Der Semantic Ranker in Azure AI Search bewertet ebenfalls nur die ersten 50 Ergebnisse der ersten Suche. Ein gutes Retrieval davor bleibt Pflicht.
  • Top-k bewusst wählen. Zu wenige Chunks im Prompt, und Information fehlt. Zu viele, und es wird teurer, langsamer, und das Modell nutzt Informationen in der Mitte langer Kontexte schlechter. Den passenden Wert findest du mit Testfragen.
  • Filter vor der Suche. Metadaten wie Baureihe, Gültigkeitsdatum und Sprache schränken die Kandidaten vorher ein. Berechtigungsfilter gehören genau hierher und nicht erst in den Prompt.
  • Kosten und Wartezeit mitdenken. Der Reranker liest jedes Paar einzeln und kostet deshalb mehr als der reine Vektorvergleich. Er läuft nur auf den Kandidaten, nie auf dem ganzen Index.

Fazit

Retrieval holt viel und grob, Reranking wählt wenig und genau. Zusammen sorgen sie dafür, dass die richtige Quelle nicht nur im Kandidatenfeld liegt, sondern im Prompt ganz vorn. Damit ist die Technik der Reihe vollständig. Im nächsten Teil geht es um das, woran RAG-Projekte in der Praxis oft scheitern, und das hat wenig mit Technik zu tun: Woran RAG-Projekte scheitern.

Quellen

LaborZum Mitnehmen: Reranking3 Fragen
  1. 1.Was macht ein Cross-Encoder-Reranker anders als die erste Suche?

  2. 2.Warum läuft der Reranker nur auf den Kandidaten der ersten Suche und nicht auf allen Chunks?

  3. 3.Was passiert, wenn du top-k sehr hoch einstellst und viele Chunks in den Prompt gibst?

0 von 3 beantwortet

Weiterlesen