Remarque
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.
Affichage actuel :Version du portail - Passer à la version du nouveau portail Foundry
La récupération augmentée de génération (RAG) est un modèle qui combine la recherche avec des modèles de langage volumineux (LLMs) afin que les réponses soient ancrées dans vos données. Cet article explique comment RAG fonctionne dans Microsoft Foundry, quel rôle jouent les index et comment la récupération agentique modifie les modèles RAG classiques.
Les LLMs sont formés sur les données publiques disponibles au moment de l’entraînement. Si vous avez besoin de réponses basées sur vos données privées ou sur des informations fréquemment modifiées, RAG vous aide à :
- Récupérez des informations pertinentes à partir de vos données (souvent par le biais d’un index).
- Fournissez ces informations au modèle en tant que données de base.
- Générez une réponse qui peut inclure des citations vers le contenu source.
Qu’est-ce que RAG ?
Les modèles de langage volumineux (LLMs) comme ChatGPT sont formés sur des données Internet publiques disponibles lors de l’apprentissage du modèle. Les données publiques peuvent ne pas être suffisantes pour vos besoins. Par exemple, vous pouvez souhaiter des réponses basées sur des documents privés, ou vous pourriez avoir besoin d'informations actuelles.
RAG traite cela en récupérant du contenu pertinent à partir de vos données et en l’incluant dans l’entrée du modèle. Le modèle peut ensuite générer des réponses ancrées dans le contenu récupéré.
Concepts clés pour RAG :
- Données de base : contenu récupéré que vous fournissez au modèle pour réduire les estimations.
- Index : structure de données optimisée pour la récupération (mot clé, sémantique, vecteur ou recherche hybride).
- Incorporations : représentations numériques du contenu utilisés pour la recherche de similarité vectorielle. Consultez Comprendre les incorporations.
- Message système et invites : instructions qui guident la façon dont le modèle utilise le contenu récupéré. Consultez l’ingénierie des incitations et les messages du système de sécurité.
Comment fonctionne RAG ?
RAG suit un flux en trois étapes :
- Récupérer : lorsqu’un utilisateur pose une question, votre application interroge un index ou un magasin de données pour trouver du contenu pertinent.
- Augmenter : l’application intègre la question de l’utilisateur et le contenu récupéré (données d'ancrage) dans une invite de commande.
- Générer : le modèle reçoit l’invite augmentée et génère une réponse ancrée dans le contenu récupéré, réduisant ainsi les inexactitudes et activant des citations précises.
Qu’est-ce qu’un index et pourquoi ai-je besoin de celui-ci ?
RAG fonctionne le mieux lorsque vous pouvez récupérer du contenu pertinent rapidement et de manière cohérente. Un index permet d’organiser votre contenu pour une récupération efficace.
De nombreuses solutions RAG utilisent un index qui prend en charge un ou plusieurs de ces modes de récupération :
- Recherche de mots clés
- Recherche sémantique
- Recherche vectorielle
- Recherche hybride (mot clé + vecteur, parfois avec classement sémantique)
Un index peut également stocker des champs qui améliorent la qualité des citations (par exemple, les titres de document, les URL ou les noms de fichiers).
Foundry peut connecter votre projet à un service de Recherche Azure AI et à un index pour la récupération. En fonction de la fonctionnalité et de l’aire d’API que vous utilisez, ces informations de connexion peuvent être représentées en tant que connexion de projet ou ID de ressource d’index.
Par exemple, la préversion de l'API REST Foundry Project inclut un champ index_asset_id pour les ressources d'indexation de l'Recherche Azure AI. Consultez aperçu de l'API REST du Projet Foundry.
Recherche Azure AI est un magasin d’index recommandé pour les scénarios RAG. Recherche Azure AI prend en charge la récupération sur les données vectorielles et textuelles stockées dans les index de recherche, et peut également interroger d’autres cibles si vous utilisez la récupération agentique. Consultez Qu’est-ce que Recherche Azure AI ?.
RAG agentique : approche moderne de la récupération
Les modèles RAG traditionnels utilisent souvent une requête unique pour récupérer des informations à partir de vos données. La récupération agentique, également appelée RAG agentique, est une évolution de l’architecture de récupération qui utilise un modèle pour décomposer les entrées complexes en plusieurs sous-requêtes ciblées, les exécuter en parallèle et retourner des données de base structurées qui fonctionnent bien avec les modèles d’achèvement de conversation.
La récupération agentique offre plusieurs avantages par rapport au RAG classique :
- Planification des requêtes prenant en compte le contexte : utilise l’historique des conversations pour comprendre le contexte et l’intention. Les questions de suivi conservent le contexte des échanges antérieurs, ce qui rend les conversations à plusieurs étapes plus naturelles.
- Exécution parallèle : exécute plusieurs sous-requêtes ciblées simultanément pour une meilleure couverture. Au lieu de récupérer à partir d’une requête unique de manière séquentielle, l’exécution parallèle réduit la latence et récupère des résultats plus variés.
- Réponses structurées : retourne des données de base, des citations et des métadonnées d’exécution, ainsi que des résultats. Cette sortie structurée permet à votre application de citer des sources avec précision et de tracer le raisonnement derrière les réponses.
- Classement sémantique intégré : garantit une pertinence optimale des résultats. Le classement sémantique filtre le bruit et hiérarchise les passages véritablement pertinents, ce qui est particulièrement important avec les jeux de données volumineux.
- Synthèse des réponses facultatives : peut inclure des réponses formulées par LLM directement dans la réponse de requête. Vous pouvez également choisir de transmettre des passages bruts et textuels pour que votre application les traite.
Si vous utilisez Recherche Azure AI comme moteur de récupération, consultez Récupérationagentique et Quickstart : Récupération agentique.
Choisir une approche dans Foundry
Foundry prend en charge plusieurs modèles pour l’utilisation de données privées. Choisissez en fonction de la complexité de votre cas d’usage et du contrôle dont vous avez besoin :
- Utilisez RAG quand vous avez besoin de réponses ancrées dans des données privées ou fréquemment modifiées.
- Utilisez un réglage précis lorsque vous devez modifier le comportement du modèle, le style ou les performances des tâches, plutôt que d’ajouter de nouvelles connaissances.
- Utilisez une expérience gérée « utiliser vos données » si vous souhaitez un moyen plus guidé de se connecter, d’ingérer et de discuter sur vos données. Consultez Azure OpenAI sur vos données et Démarrage rapide : Discutez avec les modèles Azure OpenAI en utilisant vos propres données.
Prise en main de RAG dans Foundry
L’implémentation de RAG dans Foundry suit généralement ce flux de travail :
- Préparer vos données : organiser et segmenter vos documents privés ou base de connaissances dans du contenu pouvant faire l’objet d’une recherche
- Configurez un index : créez un index Recherche Azure AI ou utilisez un autre service de récupération pour organiser votre contenu pour une recherche efficace
- Se connecter à Foundry : Créer une connexion à partir de votre projet Foundry à votre index ou à votre service de récupération
- Créer votre application RAG : intégrer la récupération à vos appels LLM à l’aide du SDK Foundry ou des API REST
- Tester et évaluer : vérifier que la qualité de récupération est bonne et que les réponses sont exactes et correctement citées
Pour commencer, suivez ces tutoriels :
- Tutorial : Partie 1 - Configurer un environnement de développement et de projet pour créer une application de récupération des connaissances personnalisées (RAG) avec le SDK Microsoft Foundry
- Tutorial : Partie 2 - Créer une application de récupération des connaissances personnalisées (RAG) avec le SDK Microsoft Foundry
Considérations relatives à la sécurité et à la confidentialité
Les systèmes RAG peuvent exposer des contenus sensibles si vous ne concevez pas soigneusement l'accès et les invites.
- Appliquez le contrôle d’accès au moment de la récupération. Si vous utilisez Recherche Azure AI comme source de données, vous pouvez utiliser le contrôle d'accès au niveau du document avec des filtres de sécurité.
- Privilégiez Microsoft Entra ID aux clés API pour la production. Les clés API sont pratiques pour le développement, mais ne sont pas recommandées pour les scénarios de production. Pour obtenir des instructions sur le RBAC d'Recherche Azure AI, consultez Connexion à Recherche Azure AI en utilisant des rôles.
- Traitez le contenu récupéré comme une entrée non approuvée. Votre logique de messages pour le système et l'application doit réduire le risque d'injection de commande à partir de documents et de passages récupérés. Consultez les messages du système de sécurité.
Considérations relatives aux coûts et à la latence
RAG ajoute un travail supplémentaire par rapport à une demande de modèle uniquement :
- Coûts et latence de récupération : l’interrogation d’un index ajoute des allers-retours et un calcul.
- Coûts et latence d’incorporation : la recherche vectorielle nécessite des incorporations au moment de l’indexation, et souvent au moment de la requête.
- Utilisation des jetons : les passages récupérés augmentent les jetons d’entrée, ce qui peut augmenter le coût.
Si vous utilisez Recherche Azure AI, confirmez le niveau de service et la tarification avant le déploiement de production. Si vous utilisez la recherche sémantique ou hybride, consultez la tarification et les limites d'Recherche Azure AI dans la documentation Recherche Azure AI.
Limitations et résolution des problèmes
Limitations connues
- La qualité RAG dépend de la préparation du contenu, de la configuration de l'extraction et de la conception de la demande. Une mauvaise préparation des données ou une stratégie d’indexation a un impact direct sur la qualité de la réponse.
- Si la récupération retourne des passages non pertinents ou incomplets, le modèle peut toujours produire des réponses incomplètes ou inexactes malgré la base.
- Si vous ne contrôlez pas l’accès au contenu source, les réponses ancrées peuvent fuiter des informations sensibles à partir de votre index.
Défis courants et atténuation
- Mauvaise qualité de récupération : si votre index ne retourne pas de passages pertinents, passez en revue votre stratégie de segmentation des données, incorporez la qualité du modèle et la configuration de recherche (mot clé par rapport à sémantique et hybride).
- Hallucination malgré l'ancrage : même en ayant récupéré du contenu, les modèles peuvent toujours générer des réponses inexactes. Activez les citations et utilisez des messages système clairs et des instructions pour indiquer au modèle de respecter le contenu récupéré.
- Problèmes de latence : les grands index peuvent ralentir la récupération. Envisagez la stratégie d'indexation, le filtrage et le reclassement pour réduire le volume de passages traités.
- Plafond de jetons dépassé : les passages récupérés peuvent rapidement atteindre les plafonds de jetons. ** Implémentez le filtrage de passages, le classement ou la synthèse pour respecter le budget.
Pour obtenir des conseils sur l’évaluation de l’efficacité de RAG, consultez les didacticiels et les guides de démarrage rapide dans la section relative au contenu ci-dessous.
Contenu connexe
- Tutorial : Partie 1 - Configurer un environnement de développement et de projet pour créer une application de récupération des connaissances personnalisées (RAG) avec le SDK Microsoft Foundry
- Tutorial : Partie 2 - Créer une application de récupération des connaissances personnalisées (RAG) avec le SDK Microsoft Foundry
- Quickstart : Discuter avec Azure modèles OpenAI à l’aide de vos propres données
- Azure OpenAI sur vos données