Vous posez au chatbot RH de votre entreprise une question simple sur le congé parental. Il répond rapidement, avec assurance, et inclut des références. L’une de ces références correspond à un titre de page d’apparence aléatoire, qui ne correspond à aucune politique RH que vous ayez jamais consultée. Si vous développez ou gérez ce chatbot, c’est à ce stade qu’il vous faut une représentation mentale claire de la manière dont la réponse a été élaborée et de la provenance du texte cité.
La sécurité du RAG repose avant tout sur la compréhension de son architecture, car celle-ci permet d’appréhender à la fois la valeur et les risques du système. Dans ce cours, nous nous appuierons sur cette architecture pour analyser les défaillances possibles, les données en jeu et les mesures de protection réellement efficaces. Commençons par examiner le fonctionnement de base d’une application RAG, de la formulation de la question jusqu’à la réponse finale.
La génération augmentée par la récupération (RAG) est une méthode permettant à un chatbot de répondre en utilisant des informations extraites d’une collection de documents au moment où la question est posée. L’application récupère le texte pertinent et l’intègre aux données d’entrée du modèle, afin que celui-ci puisse rédiger une réponse reflétant ce texte. Le principe fondamental est simple : le texte récupéré influence directement la réponse du modèle.
Un système RAG se compose généralement de plusieurs éléments que vous retrouverez tout au long de ce cours. Le retriever (ou module de récupération) est le composant chargé de rechercher le texte pertinent. Une base de données vectorielle est un système de stockage qui aide le retriever à trouver rapidement des textes similaires. Les chunks (ou segments) sont de petits fragments de documents stockés en vue de leur récupération. Le terme Top-k désigne le fait que le retriever renvoie les k meilleurs segments trouvés pour la question donnée. Les citations sont des références affichées par l’application pour indiquer quels segments ont servi à élaborer la réponse. Voyons comment ces différents éléments s’articulent entre eux.
Deux types d’erreurs courants peuvent sembler identiques pour un débutant, car tous deux produisent une réponse fluide. L’hallucination survient lorsque le modèle énonce une information qui n’est pas étayée par le texte récupéré qui lui a été fourni. Sur le plan de la sécurité, un autre problème se pose lorsque le texte récupéré oriente le modèle vers un résultat erroné ou dangereux, car ce texte lui-même induit en erreur quant à l’intention de l’utilisateur. La compétence pratique consiste à apprendre à poser une question unique face à toute affirmation : où, dans le texte récupéré, se trouve l’élément qui justifie cette phrase ?
Lorsque vous parvenez à relier une réponse à des segments spécifiques du texte récupéré, vous pouvez distinguer les affirmations étayées de celles qui ne le sont pas. Cette habitude de vérification vous permet également de repérer lorsqu’un segment suspect influence la réponse. Comparez deux réponses et examinez ce qui repose, ou non, sur le texte récupéré.