Améliorer la qualité de l’application RAG
Cet article donne un aperçu de la manière dont vous pouvez affiner chaque composant pour améliorer la qualité de votre application de génération augmentée de récupération (RAG).
Il existe une myriade de « paramètres » à ajuster à chaque point, à la fois dans le pipeline de données hors ligne et dans la chaîne RAG en ligne. Bien qu'il en existe d'innombrables autres, l'article se concentre sur les paramètres les plus importants qui ont le plus grand impact sur la qualité de votre application RAG. Databricks vous recommande de commencer avec ces paramètres.
Deux types de considérations de qualité
D'un point de vue conceptuel, il est utile de considérer les leviers de qualité RAG à travers le prisme des deux types principaux de problèmes de qualité :
-
Qualité de récupération : Récupérez-vous les informations les plus pertinentes pour une query de récupération donnée ?
Il est difficile de générer une sortie RAG de haute qualité si le contexte fourni au LLM manque d'informations importantes ou contient des informations superflues.
-
Qualité de la génération : Étant donné les informations récupérées et la query utilisateur d'origine, le LLM génère-t-il la réponse la plus précise, cohérente et utile possible ?
Les problèmes ici peuvent se manifester par des hallucinations, une sortie incohérente ou l'incapacité de répondre directement à la query de l'utilisateur.
Les applications RAG ont deux composants qui peuvent être itérés pour relever les défis de qualité : la pipeline de données et la chaîne. Il est tentant de supposer une division claire entre les problèmes de récupération (mise à jour simple de la pipeline de données) et les problèmes de génération (mise à jour de la chaîne RAG). Cependant, la réalité est plus nuancée. La qualité de la récupération peut être influencée à la fois par la pipeline de données (par exemple, la stratégie d'analyse/de découpage, la stratégie de métadonnées, le modèle d'incorporation) et la chaîne RAG (par exemple, la transformations de la query utilisateur, le nombre de blocs récupérés, le reclassement). De même, la qualité de la génération sera invariablement affectée par une mauvaise récupération (par exemple, des informations non pertinentes ou manquantes affectant la sortie du modèle).
Ce chevauchement souligne la nécessité d'une approche globale pour l'amélioration de la qualité de RAG. En comprenant quels composants modifier à travers le pipeline de données et la chaîne RAG, et comment ces changements affectent la solution globale, vous pouvez effectuer des mises à jour ciblées pour améliorer la qualité de sortie de RAG.
Considérations relatives à la qualité des pipelines de données

Principales considérations concernant la pipeline de données :
- La composition du corpus de données d'entrée.
- Comment les données brutes sont extraites et transformées dans un format utilisable (par exemple, l'analyse d'un document PDF).
- Comment les documents sont divisés en fragments plus petits et comment ces fragments sont formatés (par exemple, stratégie de fragmentation et taille de fragment).
- Les métadonnées (comme le titre de section ou le titre du document) extraites pour chaque document et/ou fragment. Comment ces métadonnées sont incluses (ou non incluses) dans chaque bloc.
- Le modèle d'intégration utilisé pour convertir le texte en représentations vectorielles pour la recherche de similarité.
chaîne RAG

- Le choix du LLM et de ses parameters (par exemple, la température et le nombre maximal de jetons).
- Les paramètres de récupération (par exemple, le nombre de segments ou de documents récupérés).
- L'approche de récupération (par exemple, recherche par mot-clé vs. hybride vs. sémantique, la réécriture de la query de l'utilisateur, la transformation d'une query d'utilisateur en filtres ou le reclassement).
- Comment formater le prompt avec le contexte récupéré afin de guider le LLM vers une sortie de qualité.