Schritt 5 – Generierung: Debuggen der Generierungsqualität
Auf dieser Seite wird beschrieben, wie Sie die Grundursache von Generierungsproblemen ermitteln. Verwenden Sie diese Seite als Referenz, wenn die Grundursachenanalyse die Grundursache Improve Generation
angibt.
Wenn die LLM-Komponente einer RAG-Kette den abgerufenen Kontext selbst bei einem optimalen Abruf nicht effektiv nutzen kann, um genaue, kohärente und relevante Antworten zu generieren, leidet die Qualität der endgültigen Ausgabe. Probleme mit der Generierungsqualität können z. B. in Form von Halluzinationen, Inkonsistenzen oder der Unfähigkeit auftreten, kurz und klar auf die Benutzerabfrage einzugehen.
Anweisungen
Führen Sie die folgenden Schritte aus, um Probleme mit der Generierungsqualitä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 Generierungsqualität hatten.
- Prüfen Sie für jeden Datensatz manuell die generierte Antwort, und vergleichen Sie sie mit dem abgerufenen Kontext und der Grundwahrheitssantwort.
- Achten Sie in den Abfragen mit geringer Generierungsqualität auf Muster oder häufig auftretende Probleme. Beispiel:
- Generieren von Informationen, die im abgerufenen Kontext nicht vorhanden sind
- Generieren von Informationen, die nicht mit dem abgerufenen Kontext übereinstimmen (Halluzinationen)
- Bei dem bereitgestellten abgerufenen Kontext die Unfähigkeit, direkt auf die Benutzerabfrage zu reagieren
- Generieren von Antworten, die übermäßig ausführlich oder schwer verständlich sind oder denen logische Kohärenz fehlt
- 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 Generierungsqualitä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 RAG-Kette ändern (z. B. die Promptvorlage anpassen oder ein anderes LLM ausprobieren) oder die Datenpipeline ändern (z. B. die Segmentierungsstrategie anpassen, um mehr Kontext bereitzustellen).
- Wenn die Generierungsqualitä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 Generierungsqualität
In der folgenden Tabelle sind die Debugschritte und potenziellen Fixes für häufige Generierungsprobleme aufgeführt. Die Fixes sind nach Komponente kategorisiert:
- Kettenkonfiguration
- Kettencode
Die Komponente definiert, welche Schritte Sie im Schritt Implementieren und Auswerten von Änderungen ausführen sollten.
Wichtig
Databricks empfiehlt Prompt Engineering, um die Qualität der App-Ausgaben zu durchlaufen. In den meisten der folgenden Schritte wird Prompt Engineering verwendet.
Generierungsproblem | Debuggingschritte | Mögliche Lösung |
---|---|---|
Generierte Informationen sind nicht im abgerufenen Kontext vorhanden (z. B. Halluzinationen) | – Vergleichen Sie die generierten Antworten mit dem abgerufenen Kontext, um halluzinierte Informationen zu ermitteln. – Prüfen Sie, ob bestimmte Typen von Abfrage oder abgerufenem Kontext anfälliger für Halluzinationen sind. |
- Kettenkonfiguration Aktualisieren Sie die Eingabeaufforderungsvorlage, um die Abhängigkeit vom abgerufenen Kontext zu betonen. - Kettenkonfiguration Verwenden Sie ein leistungsfähigeres LLM. - Kettencode Führen Sie nach der Generierung einen Schritt zur Faktenüberprüfung oder Verifizierung ein. |
Unfähigkeit, direkt auf die Benutzerabfrage einzugehen, oder Bereitstellen übermäßig generischer Antworten | – Vergleichen Sie die generierten Antworten mit den Benutzerabfragen, um Relevanz und Spezifität zu bewerten. – Prüfen Sie, ob bestimmte Abfragetypen dazu führen, dass der richtige Kontext abgerufen wird, während das LLM eine qualitativ minderwertige Ausgabe erzeugt. |
- Kettenkonfiguration Verbessern Sie die Prompt-Vorlage, um direkte, spezifische Antworten zu fördern. - Kettenkonfiguration Rufen Sie durch Verbesserung des Abrufprozesses gezielteren Kontext ab. - Kettencode Richten Sie die Suchergebnisse neu aus, um die relevantesten Teile an die erste Stelle zu setzen, und geben Sie nur diese an das LLM weiter. - Kettenkonfiguration Verwenden Sie ein leistungsfähigeres LLM. |
Die generierten Antworten sind schwer zu verstehen oder entbehren logischer Kohärenz. | – Bewerten Sie die Ausgabe auf ihre logische Kohärenz, grammatikalische Korrektheit und Verständlichkeit. – Analysieren Sie, ob Inkohärenz häufiger in bestimmten Typen von Abfrage oder abgerufenem Kontext auftritt. |
- Kettenkonfiguration Ändern Sie die Prompt-Vorlage, um eine kohärente, gut strukturierte Antwort zu fördern. - Kettenkonfiguration Bietet mehr Kontext für das LLM, indem zusätzliche relevante Blöcke abgerufen werden. - Kettenkonfiguration Verwenden Sie ein leistungsfähigeres LLM. |
Die generierten Antworten liegen nicht im gewünschten Format oder Stil vor. | – Vergleichen Sie die Ausgabe mit den erwarteten Format- und Stilrichtlinien. – Bewerten Sie, ob bestimmte Arten von Abfrage oder abgerufenem Kontext wahrscheinlicher zu Format- oder Stilabweichungen führen. |
- Kettenkonfiguration Aktualisieren Sie die Prompt-Vorlage, um das gewünschte Ausgabeformat und den Stil zu spezifizieren. - Kettencode Implementieren Sie einen Nachbearbeitungsschritt, um die generierte Antwort in das gewünschte Format zu konvertieren. - Kettencode Fügen Sie einen Schritt zur Validierung der Ausgabestruktur und des Stils hinzu und geben Sie bei Bedarf eine Ausweichantwort aus. - Kettenkonfiguration Verwenden Sie ein LLM, das auf die Ausgabe in einem bestimmten Format oder Stil abgestimmt ist. |
Nächster Schritt
Wenn Sie auch Probleme mit der Abrufqualität ermittelt haben, fahren Sie mit Schritt 5 – Qualität: Debuggen der Abrufqualitä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.
< Zurück: Schritt 5.1. Debug-Abrufqualität
Weiter: Schritt 6. Iteratives Beheben von Qualitätsproblemen >