Génération augmentée de récupération (RAG)
Découvrez comment la génération augmentée de récupération (RAG) améliore les modèles d'IA en intégrant des données externes fiables et en temps réel pour des réponses précises et à jour.
Retrieval Augmented Generation (RAG) est un cadre avancé conçu pour optimiser la sortie des
grands modèles de langage (LLM) en
en se référant à une base de connaissances faisant autorité en dehors de leurs données d'apprentissage originales. Dans les systèmes
systèmes d'IA générative standard, le modèle s'appuie uniquement sur les
informations statiques qu'il a apprises au cours de la formation, ce qui peut conduire à des réponses obsolètes ou à des erreurs factuelles connues sous le nom d'"hallucinations".
hallucinations. RAG comble cette lacune en
en récupérant des informations pertinentes et actualisées auprès de sources externes fiables et en les fournissant au modèle en tant que contexte avant de générer une réponse.
avant de générer une réponse. Ce processus permet à l'IA de s'appuyer sur des bases solides, ce qui garantit une
précision et une pertinence élevées, sans qu'il soit nécessaire de
coûteux.
Comment fonctionne la Génération Augmentée de Récupération
Le flux de travail RAG intègre deux composants principaux : un système de recherche et un modèle de génération. Cette synergie transforme
comment
traitement du langage naturel (NLP)
sont exécutées.
-
Récupération : Lorsqu'un utilisateur soumet une requête, le système effectue d'abord une recherche dans une base de connaissances spécialisée, généralement stockée dans une base de données.
spécialisée, généralement stockée dans une
base de données vectorielles. Cette base de données contient
représentations numériquesd'un texte ou de données
qui permettent une recherche sémantique efficace.
Le récupérateur identifie les documents ou les extraits de données qui sont les plus sémantiquement similaires à la demande de l'utilisateur.
-
Augmentation : Les informations récupérées sont ensuite combinées à la requête originale de l'utilisateur à l'aide de techniques d'ingénierie de l'invite.
techniques d'ingénierie d'invite. Cette invite "augmentée" fournit au modèle le contexte factuel nécessaire qui lui manquait initialement.
Cette invite "augmentée" fournit au modèle le contexte factuel nécessaire qui lui manquait initialement.
-
Génération : Enfin, l'invite enrichie est transmise au LLM. Le modèle utilise le contexte fourni
pour générer une réponse cohérente et fondée sur des faits. Des cadres de référence tels que
LangChain sont souvent utilisés pour orchestrer ces étapes de manière transparente.
Applications concrètes
Le RAG est essentiel dans les secteurs où les données changent fréquemment ou lorsque la précision est cruciale.
-
Gestion des connaissances de l'entreprise : Les organisations utilisent RAG pour alimenter les
internes qui assistent les employés . Par exemple, un assistant RH
peut récupérer les derniers documents de politique générale sur un serveur de l'entreprise pour répondre à des questions sur les avantages sociaux. Ainsi, l'IA
Cela garantit que l'IA adhère aux protocoles spécifiques de l'entreprise plutôt qu'à une connaissance générique de l'internet.
-
Aide à la décision clinique : Dans le domaine médical,
l 'IA dans le domaine des soins de santé bénéficie considérablement des
RAG. Un système peut extraire les documents de recherche médicale les plus récents ou les dossiers d'antécédents de patients spécifiques pour aider les médecins à poser leur diagnostic.
médecins dans leur diagnostic, en s'assurant que la
la modélisation prédictive est basée sur la science la plus
la science la plus récente plutôt que sur la date limite du modèle.
RAG en vision par ordinateur
Bien qu'ils soient traditionnellement basés sur le texte, les concepts RAG s'étendent à la vision par ordinateur (CV).
vision par ordinateur (CV). Dans un
modèle multimodal, un système peut retrouver des images
des images similaires ou des métadonnées visuelles pour
détection ou la classification d'objets. Par exemple, l'identification d'un spécimen biologique rare
l'identification d'un spécimen biologique rare pourrait être améliorée en récupérant des images de référence d'une base de données scientifique pour
l'analyse visuelle effectuée par des modèles tels que
Ultralytics YOLO11.
RAG vs. réglage fin
Il est important de faire la distinction entre le RAG et le réglage fin, car
car ils résolvent des problèmes différents :
-
RAG relie un modèle à des faits dynamiques externes. Il convient mieux aux applications nécessitant des informations
informations actualisées et la vérifiabilité. Elle ne modifie pas les paramètres internes du modèle.
-
La mise au point implique un entraînement supplémentaire du modèle sur un ensemble de données spécifique afin d'ajuster son efficacité.
modèle sur un ensemble de données spécifique afin d'ajuster ses
poids du modèle. Cette méthode est idéale pour enseigner à un modèle un style, un ton
un style, un ton ou un comportement spécialisé, mais elle est moins efficace pour maintenir une base de connaissances
de faits qui changent rapidement. Souvent, les développeurs utilisent l'apprentissage par transfert pour combiner les deux approches.
l 'apprentissage par transfert pour combiner les deux approches
pour obtenir des performances optimales.
Exemple : Compléter une invite par des données de détection
Dans cet exemple Python , nous simulons un flux de travail RAG de base en utilisant un modèle de détection d'objets pour "récupérer" des faits sur une image.
faits concernant une image. Ces faits viennent ensuite compléter une invite textuelle, en fondant la description sur des données visuelles vérifiées.
from ultralytics import YOLO
# Load the YOLO11 model acting as our 'retrieval' mechanism for visual facts
model = YOLO("yolo11n.pt")
# Run inference to retrieve content information from the image
results = model("https://ultralytics.com/images/bus.jpg")
# Extract detected classes to augment the prompt
detected_objects = [model.names[int(cls)] for cls in results[0].boxes.cls]
context_string = ", ".join(set(detected_objects))
# Construct the augmented prompt (RAG concept)
prompt = f"Based on the verified presence of {context_string} in the scene, describe the traffic situation."
print(f"Augmented Prompt: {prompt}")