Aller au contenu principal

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.