Plus facile à lire avec un fond crème, une teinte, plus de contraste ou un texte plus grand ? Choisissez vos couleurs et votre texte, une fois pour toutes les pages.

Leçon gratuite

Comment un chatbot écrit ses réponses

Après cette leçon: Je peux expliquer comment un chatbot écrit une réponse.

Leçon de 45 min2 commandesLab agent de code IA : utiliser opencode pour expliquer et corriger du code, et vérifier son travail

Un chatbot prédit le mot suivant

Un chatbot est un programme d'IA avec qui tu parles en tapant. Il écrit chaque réponse en prédisant le mot suivant, encore et encore.

C'est important, car cela explique son habitude la plus étrange. Un chatbot peut avoir l'air tout à fait sûr de lui et se tromper quand même.

À la fin de cette leçon

Remarque

Je peux expliquer comment un chatbot écrit une réponse.

Mots clés

MotCe que ça veut dire
Chatbotun programme d'IA avec qui on parle en tapant
Promptles mots que tu envoies au chatbot
Prédiredeviner ce qui vient ensuite
Probablevu souvent dans les exemples
Sûr de soiqui a l'air certain

Les cellules que les étudiants remplissent restent vides dans cet aperçu.

Un chatbot écrit un mot à la fois

Un chatbot a appris d'une énorme quantité de textes. Quand tu envoies un prompt, il prédit le mot suivant et l'ajoute. Puis il prédit le mot d'après.

Il continue jusqu'à ce que la réponse soit finie. Il ne prépare pas toute la réponse à l'avance.

Exemple : quel mot vient ensuite ?

Les mots déjà làMot suivantVu sur 10
Après les cours, je vais jouer aufoot5
Après les cours, je vais jouer aubasket3
Après les cours, je vais jouer autennis2

Les cellules que les étudiants remplissent restent vides dans cet aperçu.

Compte toi-même les mots suivants

Le Python ci-dessous apprend de quatre phrases courtes. Il compte les mots venus juste après un mot que tu choisis.

Appuie sur Run. Puis remplace « au » par « vais » dans la dernière ligne et relance.

Quels mots venaient ensuite ?

Code: python
# Quatre phrases dont le programme apprend.
phrases = [
    "après les cours je vais jouer au foot",
    "après les cours je vais jouer au basket",
    "le samedi je vais jouer au foot",
    "après les cours je vais manger des frites",
]

def mots_suivants(mot):
    comptes = {}
    for phrase in phrases:
        mots = phrase.split()
        for i in range(len(mots) - 1):
            if mots[i] == mot:
                apres = mots[i + 1]
                if apres not in comptes:
                    comptes[apres] = 0
                comptes[apres] = comptes[apres] + 1
    return comptes

print(mots_suivants("au"))

Pose la question au chatbot du lab

Remarque

Appuie sur Start the lab, puis sur les deux Runs suivants. Chacun demande au chatbot du lab de finir une phrase. Si ton établissement n'a pas activé l'IA, le Run affiche à la place un exemple enregistré, bien étiqueté.

Demande le mot suivant

Commande
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('Termine la phrase par un seul mot, sans rien ajouter : Après les cours, je vais jouer au',12,0.7).then(j=>console.log('Chatbot : '+j.choices[0].message.content)).catch(e=>console.log('Exemple enregistré, aucun chatbot ne répond : foot'))"

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.

Pose deux fois la même question

Commande
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());const s=['foot','basket'];(async()=>{for(let i=0;i<2;i++){let t;try{const j=await post('Termine la phrase par un seul mot, sans rien ajouter : Après les cours, je vais jouer au',12,1);t='Chatbot : '+j.choices[0].message.content}catch(e){t='Exemple enregistré, aucun chatbot ne répond : '+s[i]}console.log('Essai '+(i+1)+' : '+t)}})()"

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.

Avoir l'air sûr, ce n'est pas avoir raison

Un chatbot choisit des mots probables. Il ne vérifie pas qu'ils sont vrais. Une phrase fausse peut très bien être probable.

Un chatbot peut donc écrire une chose fausse d'une voix calme et sûre de soi. Avoir l'air sûr, ce n'est pas avoir raison.

Une erreur fréquente

Attention

Beaucoup croient qu'un chatbot cherche la réponse, comme un moteur de recherche. Ce n'est pas le cas. Il écrit des mots probables à partir de motifs, alors vérifie tout ce qui compte avant de t'en servir.

Pour aller plus loin : l'intérieur d'un chatbot

Un vrai chatbot utilise la même idée que tes comptes, en beaucoup plus grand. Il regarde de nombreux mots avant le suivant, pas seulement le dernier.

Si tu es curieux, le module universitaire « Comment marchent les modèles de langage : les transformeurs de zéro » montre comment cela marche.

À propos de ce labo et de sa source: Lab agent de code IA : utiliser opencode pour expliquer et corriger du code, et vérifier son travail

Vous enseignez à une classe ? Proposez ce module à vos étudiants avec un guide de l'enseignant, des devoirs corrigés et un laboratoire pour chaque étudiant.