Trois jours de télétravail, vraiment ?
Une entreprise de 300 salariés installe un assistant interne. Une salariée lui demande combien de jours de télétravail elle peut prendre par semaine.
L’assistant répond avec assurance : trois jours. L’accord de l’entreprise en prévoit deux.
Le modèle n’a jamais lu cet accord. Il a écrit une réponse plausible, pas une réponse vraie. Pour bien répondre, l’application doit lui fournir le bon passage du bon document.
À la fin de cette leçon
Remarque
Je peux expliquer comment une application donne les bons faits à un modèle de langage.
Mots-clés
| Mot | Ce que ça veut dire |
|---|---|
| Modèle de langage | un modèle qui écrit la suite probable d’un texte |
| Consigne | le texte envoyé au modèle, souvent appelé prompt |
| Hallucination | une réponse inventée, présentée comme vraie |
| Récupération | chercher les passages utiles dans vos documents |
| Vecteur | une liste de nombres qui résume le sens d’un texte |
| Recherche vectorielle | trouver les textes aux vecteurs les plus proches |
Les cellules que les étudiants remplissent restent vides dans cet aperçu.
Un modèle ne connaît que ses textes
Un modèle de langage est un très grand réseau de neurones. Il a été entraîné sur d’énormes quantités de textes publics, jusqu’à une certaine date.
Il n’a jamais lu vos documents internes. Il ignore aussi ce qui s’est passé après son entraînement.
Quand il ne sait pas, il écrit quand même la suite la plus probable. Cette réponse inventée s’appelle une hallucination.
Ce que le modèle peut savoir
| Question | Le modèle a-t-il lu la réponse ? | Pourquoi |
|---|---|---|
| Qu’est-ce qu’un congé payé ? | Oui, sans doute | Le sujet est dans des textes publics |
| Combien de jours de télétravail chez nous ? | Non | L’accord est un document interne |
| Qui a rejoint l’équipe hier ? | Non | C’est arrivé après son entraînement |
Les cellules que les étudiants remplissent restent vides dans cet aperçu.
Récupérer d’abord, générer ensuite
La solution courante s’appelle la génération augmentée par récupération, ou RAG.
D’abord, on découpe les documents de l’entreprise en courts passages. À chaque question, l’application cherche les passages les plus proches. Elle les place dans la consigne, juste avant la question. Le modèle répond alors à partir de ces passages.
L’application peut même citer le document source. La salariée peut ainsi vérifier la réponse.
Trouvez le passage le plus proche
# Trois passages tirés des documents internes de l'entreprise
passages = [
"Le télétravail est possible deux jours par semaine après la période d'essai.",
"Les notes de frais sont remboursées sous trente jours.",
"Les congés payés se posent dans le logiciel de gestion des temps.",
]
question = "combien de jours de télétravail par semaine"
meilleur = ""
meilleur_score = -1
for passage in passages:
mots_passage = passage.lower().split()
score = 0
for mot in question.split():
if mot in mots_passage:
score = score + 1
print(score, "mot(s) en commun :", passage)
if score > meilleur_score:
meilleur_score = score
meilleur = passage
print("Passage ajouté à la consigne :", meilleur)
# Remplacez la question par "quand sont remboursées les notes de frais",
# puis relancez le programme.
La recherche vectorielle compare le sens
Compter les mots communs a une limite. La question « puis-je travailler chez moi ? » ne contient pas le mot « télétravail ».
On transforme donc chaque passage en vecteur : une liste de nombres qui résume son sens. Deux textes au sens proche obtiennent des nombres proches, même avec des mots différents.
La recherche vectorielle trouve les passages dont les nombres ressemblent le plus à ceux de la question.
Exemple travaillé : des vecteurs à deux nombres
| Texte | Nombre « travail à distance » | Nombre « argent » | Proche de la question ? |
|---|---|---|---|
| Question : puis-je travailler chez moi ? | 0,9 | 0,1 | |
| Accord sur le télétravail | 0,8 | 0,1 | Oui, très proche |
| Travail depuis le domicile | 0,9 | 0,2 | Oui, très proche |
| Remboursement des notes de frais | 0,1 | 0,9 | Non, très loin |
Les cellules que les étudiants remplissent restent vides dans cet aperçu.
Une erreur fréquente
Attention
Beaucoup pensent que le RAG réentraîne le modèle avec les documents de l’entreprise. Ce n’est pas le cas : les poids du modèle ne changent pas. À chaque question, l’application ajoute seulement quelques passages à la consigne. Si un document change, il suffit de mettre à jour la base de passages.