AI Coding · 5 mondes · 15 étapes
Agents & outils
Messages, outils, boucle d'agent, RAG et garde-fous, écrits de ses mains.
Progression
0 %
0/15 étapes terminées
Avancé · 10 min de lecture
Mémoire et RAG
Choisir ce que le modèle lit
1Définition
La fenêtre de contexte limite ce qu'un modèle lit par appel. On y garde le règlement et les messages récents, et l'on apporte le savoir utile par RAG : transformer la question en vecteur, trouver les documents les plus proches, et les placer dans le message avant d'appeler le modèle.
2Principes fondamentaux
01
Un historique sans trou
On garde les messages les plus récents qui tiennent, et l'on s'arrête au premier qui déborde.
02
Chercher par le sens
Des embeddings et la similarité cosinus trouvent des textes proches sans mot commun.
03
Répondre à partir de sources
Le modèle s'appuie sur les extraits fournis, et l'on renvoie leurs titres à l'utilisateur.
04
Tout est à refaire à chaque appel
Le modèle n'apprend rien : les extraits ne vivent que dans le message.
3Exemples pratiques
La similarité cosinus
1const produit = (a, b) => a.reduce((s, x, i) => s + x * b[i], 0);2const cosinus = (a, b) => produit(a, b) / Math.sqrt(produit(a, a) * produit(b, b));1 pour deux directions identiques, 0 pour deux directions sans rapport.
Un message RAG
1const contexte = fiches.map((f) => "[" + f.titre + "] " + f.texte).join("\n");2await modele([3 { role: "system", content: "Réponds uniquement à partir de ces fiches :\n" + contexte },4 { role: "user", content: question },5]);Des extraits étiquetés permettent au modèle de citer ses sources, et à l'interface de les afficher.
4Erreurs courantes
Un historique à trous
À éviter
if (trop long) continue;À faire
if (trop long) break;Pourquoi : Le modèle lirait une réponse sans sa question.
Trier le tableau d'origine
À éviter
fiches.sort(…)À faire
[...fiches].sort(…)Pourquoi : sort modifie le tableau sur place : la base de fiches change d'ordre pour tout le monde.
Tout envoyer au modèle
À éviter
content: toutesLesFiches.join("\n")À faire
Les k fiches les plus prochesPourquoi : Coûteux, lent, et le modèle se perd dans le bruit.
5Subtilités à connaître
- ◆On découpe les longs documents en morceaux de quelques paragraphes avant de calculer leurs vecteurs.
- ◆Les bases vectorielles (pgvector, par exemple) utilisent des index approximatifs pour chercher parmi des millions de vecteurs.
- ◆Combiner recherche par mots-clés et recherche par vecteurs donne souvent de meilleurs résultats que chacune seule.
6Vérifie ta compréhension
Question 1/3
Score 0
Dans une fenêtre trop pleine, on garde toujours…
Envie d'essayer ? Ouvre le Labo et recopie les exemples pour les modifier.