Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
La génération augmentée par récupération (RAG – Retrieval-Augmented Generation) est une technique puissante qui combine les grands modèles de langage (LLM) avec la récupération de données en temps réel pour générer des réponses plus précises, à jour et contextuellement pertinentes.
Cette approche est particulièrement utile pour répondre aux questions relatives aux informations propriétaires, fréquentes ou spécifiques au domaine.
Qu'est-ce que la génération augmentée par récupération ?
Dans la forme la plus simple, un agent RAG effectue les opérations suivantes :
- Récupération : la requête de l’utilisateur est utilisée pour interroger une base de connaissances externe, telle qu’un magasin vectoriel, une recherche par mot clé ou une base de données SQL. L’objectif est d’obtenir des données d'appui utiles pour la réponse du LLM.
- Augmentation : les données d'appui sont combinées à la requête de l’utilisateur, souvent à l’aide d’un modèle avec formatage et instructions supplémentaires pour le LLM, pour créer un prompt.
- Génération : l’invite est transmise au LLM pour générer une réponse à la demande de l’utilisateur.
Avantages RAG
RAG améliore les LLM de plusieurs façons :
- Connaissances propriétaires : la RAG peut intégrer des informations internes qui n'ont pas été utilisées initialement pour l'entraînement du LLM, comme des mémos, des e-mails et des documents, pour répondre à des questions spécifiques à un domaine.
- Informations à jour : Une application RAG peut fournir au LLM des informations provenant d’une base de connaissances mise à jour.
- Citation des sources : la RAG permet aux LLM de citer des sources spécifiques, ce qui permet à l'utilisateur de vérifier l’exactitude factuelle des réponses.
- Sécurité des données et listes de contrôle d'accès (ACL) : l’étape de récupération peut être conçue pour récupérer de manière sélective des informations personnelles ou propriétaires sur la base des informations d’identification de l’utilisateur.
Composants RAG
Une application RAG classique implique plusieurs étapes :
Pipeline de données : prétraiter et indexer des documents, des tables ou d’autres données pour une récupération rapide et précise.
Chaîne RAG (récupération, augmentation, génération) : appelez une série (ou chaîne) d’étapes pour :
- Comprendre la question de l’utilisateur.
- Récupérer les données justificatives.
- Augmenter le prompt avec les données d'appui.
- Générer une réponse d’un LLM à partir du prompt augmenté.
Évaluation et surveillance : évaluez l’application RAG pour déterminer sa qualité, son coût et sa latence pour s’assurer qu’elle répond aux besoins de votre entreprise.
Gouvernance et LLMOps : suivez et gérez le cycle de vie de chaque composant, y compris la traçabilité des données et les contrôles d’accès.
Types de données RAG : structurées et non structurées
L’architecture RAG peut fonctionner avec des données d'appui structurées ou non structurées, selon le cas d’usage.
Données non structurées : données sans structure ou organisation spécifique.
- Fichiers PDF
- Documents Google/Office
- Les wikis
- Images
- Vidéos
Données structurées : données tabulaires organisées en lignes et colonnes avec un schéma défini, comme les tables d’une base de données.
- Fiches clients dans un système de BI ou d’entrepôt de données
- Données transactionnelles issues d'une base SQL
- Données issues d’API d’applications (ex. : SAP, Salesforce, etc.)
Évaluation et surveillance
L’évaluation et la surveillance vous permettent de vous assurer que votre application RAG répond à vos exigences de qualité, de coût et de latence. L’évaluation se fait lors du développement, tandis que la surveillance se déploie en production.
Avec des données non structurées, de nombreux éléments influent sur la qualité. Par exemple, les modifications de mise en forme des données peuvent influencer les blocs récupérés et la capacité de LLM à générer des réponses pertinentes. Il est donc important d’évaluer des composants individuels en plus de l’application globale.
Pour plus d’informations, reportez-vous à Mosaic AI Agent Evaluation (MLflow 2).
RAG sur Databricks
Databricks offre une plateforme de bout en bout pour le développement RAG, notamment :
- Pipelines de données intégrés avec Delta Lake et Lakeflow Declarative Pipelines
- Recherche vectorielle évolutive avec Recherche vectorielle Databricks
- Outils de service et d’orchestration de modèles
- Évaluation de l'IA Générative pour améliorer les performances et la qualité
- Surveillance IA générative pour les applications RAG déployées
- Gouvernance et sécurité intégrées, consultez Security and Trust Center et AI Gateway.
Étapes suivantes
Découvrez les pipelines de données, un composant clé des applications RAG. Consultez Créer un pipeline de données non structuré pour RAG
Utilisez ai Playground pour prototyper votre propre agent RAG. Consultez Prototyper des agents d’appel d’outil dans AI Playground.
- Utilisez Agent Bricks : l’Assistant Connaissances crée un agent RAG en tant que chatbot sur vos documents et en tant que point de terminaison que vous pouvez utiliser dans les applications en aval. Consultez Use Agent Bricks : Knowledge Assistant pour créer un chatbot de haute qualité sur vos documents.