Vérifier la réponse d'un chatbot
Vérifier la réponse d'un chatbot, c'est savoir si elle est vraie avant de t'en servir. Un chatbot peut inventer un fait, une date ou un livre qui n'existe pas.
Si tu recopies un fait inventé dans ton travail, l'erreur devient la tienne. Une vérification rapide l'évite.
À la fin de cette leçon
Remarque
Je peux vérifier la réponse d'un chatbot avec une deuxième source.
Mots clés
| Mot | Ce que ça veut dire |
|---|---|
| Fait | une chose vraie qu'on peut vérifier |
| Source | l'endroit d'où vient une information |
| Deuxième source | un autre endroit où tu vérifies le même fait |
| Inventé | créé de toutes pièces, pas vrai |
| Dépassé | vrai autrefois, mais plus maintenant |
Les cellules que les étudiants remplissent restent vides dans cet aperçu.
Un chatbot peut inventer des choses
Un chatbot est fait pour écrire des mots probables, donc il dit rarement « je ne sais pas ». Interroge-le sur une chose qu'il n'a jamais vue et il peut inventer une réponse.
Les deux Runs suivants portent sur Belvanne-les-Brumes, un village inventé pour cette leçon. Toute année ou tout livre qu'il cite est forcément inventé.
Pose la question au chatbot du lab
Remarque
Appuie sur Start the lab, puis sur les deux Runs. Si ton établissement n'a pas activé l'IA, chaque Run affiche un exemple enregistré, bien étiqueté. Traite cet exemple comme une affirmation à vérifier.
Interroge-le sur un village qui n'existe pas
docker exec -w /home/node/project agent node -e "const u=(process.env.AI_URL||'http://ai:4000')+'/v1/chat/completions';const post=(m,t,x)=>fetch(u,{method:'POST',headers:{'content-type':'application/json',authorization:'Bearer lab'},body:JSON.stringify({model:'lab',messages:[{role:'user',content:m}],max_tokens:t,temperature:x})}).then(r=>r.json());post('En quelle année le village de Belvanne-les-Brumes a-t-il ouvert sa première bibliothèque ? Réponds en une phrase courte.',40,0.7).then(j=>console.log('Chatbot : '+j.choices[0].message.content)).catch(e=>console.log('Exemple enregistré, aucun chatbot ne répond : Belvanne-les-Brumes a ouvert sa première bibliothèque en 1892.'))"Affichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.
Demande un livre sur ce village
docker exec -w /home/node/project agent node -e "const u=(process.env.AI_URL||'http://ai:4000')+'/v1/chat/completions';const post=(m,t,x)=>fetch(u,{method:'POST',headers:{'content-type':'application/json',authorization:'Bearer lab'},body:JSON.stringify({model:'lab',messages:[{role:'user',content:m}],max_tokens:t,temperature:x})}).then(r=>r.json());post('Cite un livre sur le passé du village de Belvanne-les-Brumes, avec son auteur. Réponds en une phrase courte.',40,0.7).then(j=>console.log('Chatbot : '+j.choices[0].message.content)).catch(e=>console.log('Exemple enregistré, aucun chatbot ne répond : Un bon livre est Les Brumes de Belvanne, de Lucienne Varnier.'))"Affichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.
Vérifie avec une deuxième source
Une deuxième source est un autre endroit qui devrait connaître le même fait. Choisis-en une qui a de bonnes chances d'être juste : un manuel, tes cours, le site du lycée ou des horaires.
Si les deux sont d'accord, tu peux utiliser le fait. S'ils ne le sont pas, fais confiance à la meilleure source, pas au chatbot.
Exemple : trois affirmations vérifiées
| Le chatbot a dit | Deuxième source | Ce qu'elle dit | Résultat |
|---|---|---|---|
| Le CDI du lycée ouvre à 8 h | Le site du lycée | Ouvre à 8 h 30 | Ne correspond pas |
| L'eau bout à 100 degrés au niveau de la mer | Un manuel de sciences | 100 degrés au niveau de la mer | Correspond |
| Le bus 42 passe toutes les 10 minutes | Les horaires du bus | Toutes les 20 minutes | Ne correspond pas |
| Ton ami Malo a 17 ans | Nulle part où vérifier | Rien | Impossible à vérifier |
Les cellules que les étudiants remplissent restent vides dans cet aperçu.
Dates et nombres demandent plus de soin
Un chatbot a appris de textes écrits jusqu'à une certaine date. Il peut ignorer tout ce qui est plus récent, donc un prix ou une règle peut être dépassé.
Il peut aussi se tromper dans un calcul, car il écrit les nombres comme des mots probables. Vérifie une date sur une page datée d'aujourd'hui. Refais un calcul toi-même.
Vérifie les calculs du chatbot
# Imagine qu'un chatbot a donné ces réponses. Chacune est [premier, signe, second, sa réponse].
affirmations = [
[12, "x", 15, 180],
[48, "+", 27, 85],
[9, "x", 9, 81],
]
for affirmation in affirmations:
if affirmation[1] == "x":
juste = affirmation[0] * affirmation[2]
else:
juste = affirmation[0] + affirmation[2]
if juste == affirmation[3]:
print(affirmation[0], affirmation[1], affirmation[2], "=", affirmation[3], "correct")
else:
print(affirmation[0], affirmation[1], affirmation[2], "=", affirmation[3], "faux, la bonne réponse est", juste)
Une erreur fréquente
Attention
Beaucoup croient qu'une réponse longue et pleine de détails est forcément vraie. Les détails sont faciles à inventer pour un chatbot. Seule une vérification avec une bonne deuxième source te dit qu'un fait est juste.
Pour aller plus loin : demande ses sources
Certains chatbots disent d'où vient un fait si tu le demandes. Cela aide, mais une source citée peut aussi être inventée.
Choisis un fait dans un de tes travaux récents. Trouve deux bonnes sources pour ce fait. Étaient-elles d'accord ?