Comprendre le RAG, The Retrieval-Augmented Generation
Quels sont les cas d’usage de RAG au quotidien ?
RAG permet de combler un manque de connaissance du modèle de base. Il y a plusieurs points à savoir.
I. Utilisation de RAG avec des bases de données (BDD)
1. BDD document
RAG peut être utilisé pour se connecter à une base de données (BDD) de type document. Son processus est le suivant :
Prompt d’entrée > Recherche de mots-clés en BDD > Embedding (les documents récupérés sont convertis en vecteurs d’embeddings pour être utilisés par le modèle) > Inférence.
2. BDD vectorielle
Avec une BDD vectorielle, le processus devient : Prompt d’entrée > Recherche sémantique en BDD vectorielle > Inférence.
Le cas d’usage le plus courant est pour les IA d’interaction (dont les IA de type « chatbot »). Ajouter une étape supplémentaire augmente le temps de réponse, ce qui nuit à l’expérience utilisateur dans le cas d’une IA d’interaction.
II. Dépendance au modèle avec RAG
Le RAG construit autour d’un modèle vous rend dépendant de ce modèle. La raison est simple : l’embedding utilisé provient de ce modèle.
Il est donc préférable de bien réfléchir avant d’implémenter une API tierce dans votre système d’information. Créer votre propre IA peut aussi offrir de nombreux avantages par rapport à l’utilisation d’une API d’un acteur de renom.
III. Structuration des données pour RAG
Contrairement à certaines idées, vous ne pouvez pas simplement donner n’importe quel type de données en entrée à l’IA (articles, documents, vidéos, etc.).
Les données doivent être structurées ! Sinon, la recherche de similarités ne fonctionnera pas correctement, car les données n’auront pas été correctement contextualisées.
IV. Gestion des tokens et embeddings
Ce n’est pas à vous de transformer les tokens en vecteurs d’embedding (ça ne fonctionnera pas si vous le faites).
Vous devez simplement réutiliser soit l’embedding du modèle de base, soit une API d’embedding du modèle comme celle d’OpenAI.
V. Limites de RAG
RAG ne fonctionne pas dans tous les cas. Si le modèle n’a pas été entraîné à traiter l’information spécifique stockée dans votre base de connaissances, cela ne fonctionnera pas.
VI. Bases de données graphes
Il est préférable d’utiliser les bases de données graphes pour le traitement de l’information en temps réel. L’indexation est facile et permet de clusteriser rapidement l’information, ce qui accélère le traitement ainsi que la recherche sémantique avec les algorithmes K-NN.