L'ère des Large Language Models (LLMs) a transformé le paysage de l'intelligence artificielle, notamment avec l'arrivée de ChatGPT qui a impressionné par ses capacités de mémorisation et de conversation.
Toutefois, malgré leur entraînement sur d'immenses corpus de données, ces modèles présentent certaines limitations lorsqu'il s'agit de répondre à des questions sur des domaines spécifiques ou des événements récents.
C'est ici qu'intervient le concept de Retrieval Augmented Generation (RAG).
Le fine-tuning et le RAG sont deux techniques puissantes pour spécialiser un LLM, mais elles opèrent différemment. Le fine-tuning ajuste directement les paramètres du modèle pour le rendre plus spécifique, tandis que le RAG enrichit automatiquement les questions posées au LLM en ajoutant du contexte pertinent.
Le RAG, en revanche, surmonte ces limites en ajoutant automatiquement du contexte pertinent aux questions.
Le RAG combine deux techniques principales : la récupération d'informations (retrieval) et la génération de texte (generation). Cette méthode permet d'ajouter automatiquement du contexte pertinent aux questions posées au LLM, augmentant ainsi la précision et la pertinence des réponses.
Prenons un exemple concret pour présenter le fonctionnement du RAG.
Dans le schéma ci-dessous, l’utilisateur pose une question à propos de notre entreprise Aqsone. Le LLM n’ayant pas été entraîné sur des données associées à l’entreprise, il n’est pas capable de répondre, ou alors il donnera une réponse basée sur une hallucination.
Dans ce nouveau schéma, le RAG est utilisé. On donne au RAG des documents dans lesquels chercher des informations relatives à la question. Par similarité entre la question et les documents, il détermine quel(s) document(s) contiennent des éléments permettant potentiellement de répondre à la question (Retrieval). La question associée à ces éléments de contexte sont soumis au LLM qui peut donc les utiliser pour répondre à la question (Generation).
Pour aller plus loin quant à la technique qui est utilisée derrière le RAG, nous pouvons nous baser sur le schéma suivant et les étapes suivantes :
Le RAG peut être optimisé à l'aide de diverses techniques avancées, telles que :
Le RAG (Retrieval Augmented Generation) trouve des applications variées et puissantes dans de nombreux domaines. Voici quelques exemples concrets où le RAG peut apporter une valeur ajoutée significative :
Description : Ces chatbots sont conçus pour répondre aux questions fréquentes et résoudre les problèmes des utilisateurs en se basant sur une base de connaissances dérivée de questions/réponses et de tickets passés.
Exemple : Un employé tente de se connecter à un réseau sécurisé mais échoue. Il demande au chatbot de support informatique ce qu'il doit faire. Le système RAG cherche dans les tickets passés et les FAQs et trouve une solution documentée pour ce type de problème, fournissant ainsi des étapes claires pour résoudre l'issue.
Description : Ces chatbots assistent les nouveaux employés en fournissant des informations et des ressources nécessaires pour leur intégration dans l'entreprise, en se basant sur la documentation interne.
Exemple : Un nouvel employé demande comment soumettre une demande de congé. Le chatbot récupère les segments de la documentation RH qui décrivent la procédure de demande de congé et fournit une réponse détaillée avec des instructions pas-à-pas.
Découvrez par exemple notre cas d’usage de Chatbot assistant RH.
Description : Ces chatbots soutiennent les équipes de maintenance en fournissant des diagnostics rapides pour les dysfonctionnements d'équipements, en se basant sur des données de capteurs et des historiques de pannes similaires.
Exemple : Un technicien observe une vibration anormale sur une machine et interroge le chatbot, qui identifie un potentiel problème de roulement en s'appuyant sur des cas passés. Le chatbot fournit ensuite des étapes de diagnostic et des recommandations de réparation, aidant à résoudre le problème plus efficacement.
Description : Ces chatbots sont conçus pour aider les utilisateurs à examiner et comprendre les clauses de contrats. Ils peuvent également identifier de potentielles clauses abusives.
Exemple : Un utilisateur soumet un contrat au chatbot et demande si certaines clauses pourraient être abusives. Le système analyse le document, repère des clauses spécifiques telles que les pénalités de retard excessives ou des conditions de résiliation inhabituelles. Il les soumet à l’utilisateur tout en expliquant les risques associés à ces clauses.
Le Retrieval Augmented Generation représente une avancée significative dans le domaine de l'IA, offrant des solutions efficaces aux limitations des LLMs traditionnels. En combinant récupération et génération, le RAG permet d'améliorer la précision, la pertinence et la spécialisation des réponses, rendant ainsi les interactions avec les systèmes IA plus utiles et pertinentes.