Schritt 5 – Abrufen: Debuggen der Abrufqualität
Auf dieser Seite wird beschrieben, wie Sie die Grundursache von Abrufproblemen ermitteln. Verwenden Sie diese Seite als Referenz, wenn die Grundursachenanalyse die Grundursache Improve Retrieval
angibt.
Die Abrufqualität ist die wohl wichtigste Komponente einer RAG-Anwendung. Wenn die relevantesten Blöcke bei einer bestimmten Abfrage nicht zurückgegeben werden, kann das LLM nicht auf die für eine qualitativ hochwertige Antwort erforderlichen Informationen zugreifen. Dabei kann eine geringe Abrufqualität zu einer irrelevanten, unvollständigen oder halluzinierten Ausgabe führen. In diesem Fall müssen zugrunde liegenden Daten manuell analysiert werden. Mosaik AI Agent Framework erleichtert die Problembehandlung erheblich dank seiner engen Integration mit der Datenplattform (einschließlich Unity Catalog und Vektorsuche) sowie der Experimentnachverfolgung mit MLflow (einschließlich LLM-Auswertung und MLflow-Ablaufverfolgung).
Anweisungen
Führen Sie die folgenden Schritte aus, um Probleme mit der Abrufqualität zu beheben:
- Öffnen Sie das Notebook B_quality_iteration/01_root_cause_quality_issues.
- Verwenden Sie die Abfragen, um die MLflow-Ablaufverfolgungen der Datensätze zu laden, die Probleme mit der Abrufqualität hatten.
- Untersuchen Sie für jeden Datensatz manuell die abgerufenen Blöcke. Wenn Grundwahrheitsabrufdokumente verfügbar sind, vergleichen Sie die abgerufenen Blöcke mit den Dokumenten.
- Achten Sie in den Abfragen mit geringer Abrufqualität auf Muster oder häufig auftretende Probleme. Beispiel:
- Relevante Informationen fehlen vollständig in der Vektordatenbank.
- Eine unzureichende Anzahl von Blöcken oder Dokumenten wurde für eine Abrufabfrage zurückgegeben.
- Blöcke sind zu klein und verfügen nicht über ausreichenden Kontext.
- Blöcke sind zu groß und enthalten mehrere, nicht verwandte Themen.
- Das Einbettungsmodell erfasst keine semantische Ähnlichkeit bei domänenspezifischen Ausdrücken.
- Stellen Sie basierend auf dem identifizierten Problem eine Hypothese zu potenziellen Grundursachen und entsprechenden Fixes auf. Anleitungen finden Sie unter Häufige Gründe für eine schlechte Abrufqualität.
- Führen Sie die Schritte in Implementieren und Auswerten von Änderungen aus, um einen potenziellen Fix zu implementieren und zu bewerten. Dafür müssen Sie ggf. die Datenpipeline ändern (z. B. die Blockgröße anpassen oder ein anderes Einbettungsmodell ausprobieren) oder die RAG-Kette ändern (z. B. die Hybridsuche implementieren oder weitere Blöcke abrufen).
- Wenn die Abrufqualität noch immer nicht zufriedenstellend ist, wiederholen Sie die Schritte 4 und 5 für die nächstvielversprechenden Fixes, bis die gewünschte Leistung erreicht wird.
- Führen Sie die Grundursachenanalyse erneut aus, um zu ermitteln, ob die Gesamtkette weitere Grundprobleme aufweist, die behoben werden sollten.
Häufige Gründe für eine schlechte Abrufqualität
In der folgenden Tabelle sind die Debugschritte und potenziellen Fixes für häufige Abrufprobleme aufgeführt. Die Fixes sind nach Komponente kategorisiert:
- Datenpipeline
- Kettenkonfiguration
- Kettencode
Die Komponente definiert, welche Schritte Sie im Schritt Implementieren und Auswerten von Änderungen ausführen sollten.
Abrufproblem | Debuggingschritte | Mögliche Lösung |
---|---|---|
Blöcke sind zu klein | – Prüfen Sie die Blöcke auf unvollständige, abgeschnittene Informationen. | - Datenpipeline Vergrößern Sie die Blockgröße oder Überlappung. - Datenpipeline Versuchen Sie eine andere Strategie zur Blockerstellung. |
Blöcke sind zu groß | – Prüfen Sie, ob abgerufene Blöcke mehrere, nicht verwandte Themen enthalten. | - Datenpipeline Verkleinern Sie die Datenblockgröße. - Datenpipeline Verbessern Sie die Strategie zur Blockerstellung, um eine Mischung von nicht verwandten Themen (z. B. semantische Blöcke) zu vermeiden. |
Blöcke weisen nicht genügend Informationen über den Text auf, aus dem sie entnommen wurden | – Prüfen Sie, ob der fehlende Kontext der einzelnen Blöcke Durcheinander oder Mehrdeutigkeit in den abgerufenen Ergebnissen verursacht. | - Datenpipeline Versuchen Sie, jedem Abschnitt Metadaten und Titel hinzuzufügen (z. B. Abschnittstitel). - Kettenkonfiguration Rufen Sie mehr Blöcke ab und verwenden Sie ein LLM mit größerer Kontextgröße. |
Das Einbettungsmodell versteht die Domänen- oder Schlüsselausdrücke in Benutzerabfragen nicht richtig. | – Prüfen Sie, ob semantisch ähnliche Blöcke für dieselbe Abfrage abgerufen werden. | - Datenpipeline Probieren Sie verschiedene Einbettungsmodelle aus. - Kettenkonfiguration Versuchen Sie die hybride Suche. - Kettencode Überabrufen Sie die Ergebnisse und ordnen Sie sie neu. Geben Sie nur die am besten bewerteten Ergebnisse in den LLM-Kontext ein. - Datenpipeline Optimieren Sie das Einbettungsmodell in domänenspezifische Daten. |
Relevante Informationen fehlen in der Vektordatenbank | – Prüfen Sie, ob relevante Dokumente oder Abschnitte in der Vektordatenbank fehlen. | - Datenpipeline Fügen Sie der Vektordatenbank relevantere Dokumente hinzu. - Datenpipeline Verbessern Sie die Dokumentanalyse und Metadatenextraktion. |
Abrufabfragen sind schlecht formuliert | – Wenn Benutzerabfragen direkt für die semantische Suche verwendet werden, analysieren Sie diese Abfragen, und prüfen Sie sie auf Mehrdeutigkeit oder Ungenauigkeit. Dies kann leicht in mehrteiligen Unterhaltungen geschehen, in denen die Rohabfrage des Benutzers auf frühere Teile der Unterhaltung verweist, was sie für die direkte Verwendung als Abrufabfrage ungeeignet macht. – Prüfen Sie, ob die Abfragebegriffe der Terminologie entsprechen, die im Suchkorpus verwendet wird. |
- Kettencode Fügen Sie Ansätze zur Abfrageerweiterung oder -umwandlung hinzu (z. B. Umwandlung einer Benutzerabfrage vor der semantischen Suche). - Kettencode Fügen Sie Abfrageverständnis zur Identifizierung von Absichten und Entitäten hinzu (z. B. Verwendung eines LLM zum Extrahieren von Eigenschaften zur Verwendung in der Metadatenfilterung). |
Nächster Schritt
Wenn Sie auch Probleme mit der Generierungsqualität ermittelt haben, fahren Sie mit Schritt 5 –Generierung: Debuggen der Generierungsqualität fort.
Wenn Sie der Meinung sind, dass Sie alle identifizierten Probleme behoben haben, fahren Sie mit Schritt 6 fort. Stellen Sie Qualitätskorrekturen für den KI-Agent fest und bewerten Sie sie.
< Vorheriger Schritt: Schritt 5. Identifizieren der Ursachen von Qualitätsproblemen