Étape 5 (génération). Comment déboguer la qualité de la génération
Cette page explique comment identifier la cause racine des problèmes de génération. Utilisez cette page lorsque l’analyse de la cause racine indique une cause racine Improve Generation
.
Même avec une récupération optimale, si le composant LLM d’une chaîne RAG ne peut pas utiliser efficacement le contexte récupéré pour générer des réponses précises, cohérentes et pertinentes, la qualité de sortie finale souffre. Certaines des façons dont les problèmes liés à la qualité de la génération peuvent apparaître sont des hallucinations, des incohérences ou des échecs pour résoudre de manière concise la requête de l’utilisateur.
Instructions
Procédez comme suit pour résoudre les problèmes de qualité de génération :
- Ouvrez le notebook B_quality_iteration/01_root_cause_quality_issues.
- Utilisez les requêtes pour charger les traces MLflow des enregistrements ayant rencontré des problèmes de qualité de la génération.
- Pour chaque enregistrement, examinez manuellement la réponse générée et comparez-la au contexte récupéré et à la réponse de base.
- Recherchez des modèles ou des problèmes courants parmi les requêtes à faible qualité de génération. Par exemple :
- Génération d’informations non présentes dans le contexte récupéré.
- Génération d’informations qui ne sont pas cohérentes avec le contexte récupéré (hallucination).
- Échec de l’adresse directe de la requête de l’utilisateur en fonction du contexte récupéré fourni.
- Génération de réponses trop détaillées, difficiles à comprendre ou qui manquent de cohérence logique.
- En fonction du problème identifié, imaginez les causes racines potentielles et les correctifs correspondants. Pour obtenir des conseils, consultez Raisons courantes d’une mauvaise qualité de génération.
- Suivez les étapes décrites dans implémenter et évaluer les modifications pour implémenter et évaluer un éventuel correctif. Cela peut impliquer la modification de la chaîne RAG (par exemple, l’ajustement du modèle d’invite ou la tentative d’un autre LLM) ou du pipeline de données (par exemple, l’ajustement de la stratégie de segmentation pour fournir plus de contexte).
- Si la qualité de la génération n'est toujours pas satisfaisante, répétez les étapes 4 et 5 pour la solution suivante la plus prometteuse jusqu'à ce que la performance souhaitée soit atteinte.
- Réexécutez l’analyse de la cause racine pour déterminer si la chaîne globale présente d’autres causes racines à traiter.
Raisons courantes d’une mauvaise qualité de génération
Le tableau suivant répertorie les étapes de débogage et les éventuels correctifs des problèmes de génération courants. Les correctifs sont classés par composant :
- Configuration de chaîne
- Code de chaîne
Le composant définit les étapes à suivre dans l’étape Implémenter et évaluer les modifications.
Important
Databricks vous recommande d’utiliser l’ingénierie rapide pour itérer sur la qualité des sorties de votre application. La plupart des étapes suivantes utilisent l’ingénierie rapide.
Problème de génération | Étapes de débogage | Correctif potentiel |
---|---|---|
Les informations générées ne sont pas présentes dans le contexte récupéré (comme les hallucinations). | – Comparez les réponses générées au contexte récupéré pour identifier les informations hallucinés. – Évaluez si certains types de requêtes ou contexte récupéré sont plus susceptibles d’être hallucinations. |
- Configuration de chaîne Mettre à jour le gabarit d’invite pour accentuer la dépendance à l’égard du contexte récupéré. - Configuration de chaîne Utiliser un LLM plus compatible. - Code de chaîne Mettre en œuvre une étape de vérification des faits ou de contrôle après la génération. |
Échec de l’adresse directe de la requête de l’utilisateur ou fourniture de réponses trop génériques | – Comparez les réponses générées aux requêtes utilisateur pour évaluer la pertinence et la spécificité. – Vérifiez si certains types de requêtes entraînent la récupération du contexte correct, mais le LLM produisant une sortie de faible qualité. |
- Configuration de chaîne Améliorer le modèle d’invite pour encourager les réponses directes et spécifiques. - Configuration de chaîne Récupérer un contexte plus ciblé en améliorant le processus de récupération. - Code de chaîne Reclasser les résultats de la récupération pour placer les segments les plus pertinents en premier, et ne les fournir qu’au LLM. - Configuration de chaîne Utiliser un LLM plus compatible. |
Les réponses générées sont difficiles à comprendre ou à manquer de flux logique | – Évaluez la sortie pour le flux logique, la correction grammaticale et la compréhension. – Analysez si l’incohérence se produit plus souvent avec certains types de requêtes ou lorsque certains types de contexte sont récupérés. |
- Configuration de chaîne Modifier le gabarit d’invite pour encourager une réponse cohérente et bien structurée. - Configuration de chaîne Fournir plus de contexte au LLM en récupérant des segments pertinents supplémentaires. - Configuration de chaîne Utiliser un LLM plus compatible. |
Les réponses générées ne sont pas au format ou au style souhaités | - Comparez la sortie aux instructions de format et de style attendues. – Évaluez si certains types de requêtes ou contexte récupérés sont plus susceptibles d’entraîner des écarts de format ou de style. |
- Configuration de chaîne Mettre à jour le gabarit d’invite pour spécifier le format et le style de sortie souhaités. - Code de chaîne Mettre en œuvre une étape de post-traitement pour convertir la réponse générée dans le format souhaité. - Code de chaîne Ajouter une étape pour valider la structure et le style de la sortie, et produire une réponse de repli si nécessaire. - Configuration de chaîne Utiliser un LLM adapté pour fournir des résultats dans un format ou un style spécifique. |
Étape suivante
Si vous avez également identifié des problèmes de qualité de récupération, passez à l’étape 5 (récupération). Comment déboguer la qualité de la récupération.
Si vous pensez que vous avez résolu tous les problèmes identifiés, passez à l’étape 6. Implémentez et évaluez de manière itérative des correctifs de la qualité.