Le flux RAG complet
Voyons comment toutes les pieces du RAG s’assemblent dans un pipeline complet.
Etape 1 : Decouper le texte source
Divisez le document en segments gerable. Par exemple, une section “Recherche medicale” et une section “Ingenierie logicielle”.
Etape 2 : Generer les embeddings
Convertissez chaque segment en embedding numerique. Dans un modele imaginaire a deux dimensions :
- Section medicale :
[0.97, 0.34](tres medical, un peu logiciel a cause du mot “bug”) - Section logicielle :
[0.30, 0.97](tres logiciel, mais “vecteurs d’infection” a des connotations medicales)
Normalisation
Avant le stockage, les embeddings sont normalises pour avoir une magnitude de 1.0 (gere automatiquement par l’API).
Etape 3 : Stocker en base vectorielle
Les embeddings normalises sont stockes dans une base de donnees vectorielle, optimisee pour comparer et rechercher des listes de nombres.
Etape 4 : Traiter la requete utilisateur
Quand un utilisateur pose une question, on la passe dans le meme modele d’embedding.
Etape 5 : Trouver les embeddings similaires
La base vectorielle trouve le segment le plus proche via la similarite cosinus :
- 1.0 : vecteurs dans la meme direction (tres similaires)
- 0.0 : vecteurs perpendiculaires (sans rapport)
- -1.0 : vecteurs opposes (tres differents)
La distance cosinus est simplement 1 - similarite cosinus.
Etape 6 : Construire le prompt final
Combinez la question utilisateur et le segment le plus pertinent dans un prompt pour Claude :
Reponds a la question de l'utilisateur sur le document financier.
<question_utilisateur>
Combien de bugs les ingenieurs ont-ils corriges cette annee ?
</question_utilisateur>
<rapport>
## Section 2 : Ingenierie logicielle
Cette division a consacre des efforts significatifs a l'etude
des vecteurs d'infection dans nos systemes distribues
</rapport>
Ce processus se repete automatiquement a chaque question.