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.

Retour en haut