Einführung in Contextual Retrieval
- Damit ein AI-Modell in einem bestimmten Kontext nützlich ist, benötigt es Hintergrundwissen
- Ein Kundensupport-Chatbot braucht Wissen über ein bestimmtes Unternehmen, und ein Bot für juristische Analysen benötigt umfangreiches Wissen über frühere Fälle
- Entwickler verwenden in der Regel Retrieval-Augmented Generation (RAG), um das Wissen von AI-Modellen zu verbessern
- Traditionelle RAG-Lösungen entfernen beim Kodieren von Informationen den Kontext und können dadurch relevante Informationen oft nicht abrufen
Methode von Contextual Retrieval
- Contextual Retrieval ist eine Methode, die die Abrufphase von RAG deutlich verbessert
- Es verwendet zwei Teiltechnologien: Contextual Embeddings und Contextual BM25
- Die Zahl fehlgeschlagener Abrufe wird um 49 % reduziert und in Kombination mit Re-Ranking sogar um bis zu 67 %
- Mit Claude lässt sich eine Contextual-Retrieval-Lösung einfach bereitstellen
Einfach längere Prompts verwenden
- Wenn die Wissensbasis unter 200.000 Tokens liegt, kann es besser sein, die gesamte Wissensbasis dem Modell bereitzustellen
- Mit der Prompt-Caching-Funktion von Claude ist dieser Ansatz schneller und kosteneffizienter
- Wenn die Wissensbasis wächst, ist eine besser skalierbare Lösung erforderlich
Grundkonzepte von RAG
- RAG wird verwendet, um große Wissensbasen zu verarbeiten
- Die Wissensbasis wird in kleine Textabschnitte aufgeteilt, und ein Embedding-Modell kodiert deren Bedeutung
- Die Daten werden in einer Vektordatenbank gespeichert und anhand semantischer Ähnlichkeit abgerufen
- BM25 ist effektiv, um exakte Wort- oder Phrasenübereinstimmungen zu finden
Grenzen von traditionellem RAG
- Beim Aufteilen von Dokumenten in kleine Abschnitte kann der Kontext verloren gehen
- Beispielsweise kann bei einer Frage nach Finanzinformationen eines bestimmten Unternehmens ein Abschnitt ohne ausreichenden Kontext zurückgegeben werden
Implementierung von Contextual Retrieval
- Jedem Abschnitt wird beschreibender Kontext hinzugefügt, um Embedding- und BM25-Indizes zu erzeugen
- Mit Claude wird für jeden Abschnitt ein knapper Kontext erzeugt
- Durch Prompt Caching lassen sich die Kosten senken
Leistungsverbesserung
- Contextual Embeddings senken die Fehlerrate beim Abruf um 35 %
- Die Kombination aus Contextual Embeddings und Contextual BM25 senkt die Fehlerrate beim Abruf um 49 %
Überlegungen zur Implementierung
- Berücksichtigt werden sollten die Art der Dokumentsegmentierung, die Wahl des Embedding-Modells und benutzerdefinierte Prompts zur Kontextualisierung
- Wenn mehr Abschnitte einbezogen werden, steigt die Wahrscheinlichkeit, relevante Informationen zu enthalten
Leistungssteigerung durch Re-Ranking
- Re-Ranking verbessert die Antwortqualität, indem nur die relevantesten Abschnitte an das Modell weitergegeben werden
- Re-gerankte Contextual Embeddings und Contextual BM25 senken die Fehlerrate beim Abruf um 67 %
Fazit
- Die Kombination von Embeddings und BM25 liefert bessere Ergebnisse
- Voyage- und Gemini-Embeddings sind am effektivsten
- Es ist am effektivsten, die Top-20-Abschnitte an das Modell zu übergeben
- Das Hinzufügen von Kontext verbessert die Suchgenauigkeit erheblich
- Re-Ranking verbessert die Leistung zusätzlich
Zusammenfassung von GN⁺
- Contextual Retrieval ist eine Methode, die die Suchgenauigkeit von AI-Modellen deutlich verbessern kann
- Sie ist besonders nützlich beim Umgang mit großen Wissensbasen
- Mit der Prompt-Caching-Funktion von Claude lässt sie sich kosteneffizient implementieren
- Andere Projekte mit ähnlichen Funktionen sind OpenAIs GPT-3 und Googles BERT
1 Kommentare
Hacker-News-Kommentare
Erster Kommentar
Zweiter Kommentar
Dritter Kommentar
Vierter Kommentar
Fünfter Kommentar
Sechster Kommentar
Siebter Kommentar
Achter Kommentar
Neunter Kommentar
Zehnter Kommentar