Ein Chatbot sagt das nächste Wort voraus
Ein Chatbot ist ein KI-Programm, mit dem du schreibst wie in einem Chat. Er schreibt jede Antwort, indem er immer wieder das nächste Wort voraussagt.
Das ist wichtig, denn es erklärt seine seltsamste Eigenschaft. Ein Chatbot kann völlig sicher klingen und trotzdem falsch liegen.
Am Ende dieser Lektion
Notiz
Ich kann erklären, wie ein Chatbot eine Antwort schreibt.
Schlüsselwörter
| Begriff | Was er bedeutet |
|---|---|
| Chatbot | ein KI-Programm, mit dem du per Text schreibst |
| Prompt | die Wörter, die du an einen Chatbot schickst |
| Voraussagen | raten, was als Nächstes kommt |
| Wahrscheinlich | oft in den Beispielen gesehen |
| Selbstsicher | so, dass es sicher klingt |
Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.
Ein Chatbot schreibt Wort für Wort
Ein Chatbot hat aus riesigen Mengen Text gelernt. Wenn du einen Prompt schickst, sagt er das nächste Wort voraus und hängt es an. Dann sagt er das Wort danach voraus.
So macht er weiter, bis die Antwort fertig ist. Er plant die ganze Antwort nicht vorher.
Beispiel: Welches Wort kommt als Nächstes?
| Die Wörter bisher | Nächstes Wort | Gesehen von 10 |
|---|---|---|
| Nach der Schule spiele ich gern | Fußball | 5 |
| Nach der Schule spiele ich gern | Handball | 3 |
| Nach der Schule spiele ich gern | Gitarre | 2 |
Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.
Zähl die nächsten Wörter selbst
Das Python unten lernt aus vier kurzen Sätzen. Es zählt, welche Wörter direkt nach einem Wort kamen, das du wählst.
Drück auf Ausführen. Ändere dann in der letzten Zeile „gern“ in „ich“ und führe es noch einmal aus.
Welche Wörter kamen danach?
# Vier Sätze, aus denen das Programm lernt.
saetze = [
"nach der schule spiele ich gern fußball",
"nach der schule spiele ich gern handball",
"am samstag spiele ich gern fußball",
"nach der schule esse ich pommes",
]
def naechste_woerter(wort):
zaehler = {}
for satz in saetze:
woerter = satz.split()
for i in range(len(woerter) - 1):
if woerter[i] == wort:
danach = woerter[i + 1]
if danach not in zaehler:
zaehler[danach] = 0
zaehler[danach] = zaehler[danach] + 1
return zaehler
print(naechste_woerter("gern"))
Frag den Chatbot im Lab
Notiz
Drück oben in der Leiste auf Lab starten und dann auf die nächsten zwei Schaltflächen Ausführen. Jede bittet den Chatbot des Labs, einen Satz zu beenden. Hat deine Schule keine KI eingeschaltet, zeigt der Run stattdessen ein aufgezeichnetes Beispiel, deutlich beschriftet.
Nach dem nächsten Wort fragen
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('Beende den Satz mit genau einem Wort und sonst nichts: Nach der Schule spiele ich gern',12,0.7).then(j=>console.log('Chatbot: '+j.choices[0].message.content)).catch(e=>console.log('Aufgezeichnetes Beispiel, kein Chatbot hat geantwortet: Fußball'))"Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.
Zweimal dasselbe fragen
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=['Fußball','Handball'];(async()=>{for(let i=0;i<2;i++){let t;try{const j=await post('Beende den Satz mit genau einem Wort und sonst nichts: Nach der Schule spiele ich gern',12,1);t='Chatbot: '+j.choices[0].message.content}catch(e){t='Aufgezeichnetes Beispiel, kein Chatbot hat geantwortet: '+s[i]}console.log('Versuch '+(i+1)+': '+t)}})()"Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.
Sicher klingen heißt nicht recht haben
Ein Chatbot wählt wahrscheinliche Wörter. Er prüft nicht, ob sie stimmen. Auch ein falscher Satz kann wahrscheinlich sein.
Ein Chatbot kann also etwas Falsches ruhig und selbstsicher schreiben. Sicher klingen ist nicht dasselbe wie recht haben.
Ein häufiger Fehler
Warnung
Viele denken, ein Chatbot schlägt die Antwort nach wie eine Suchmaschine. Das tut er nicht. Er schreibt wahrscheinliche Wörter aus Mustern, also prüf alles Wichtige, bevor du es nutzt.
Weiterdenken: Wie es innen funktioniert
Ein echter Chatbot nutzt dieselbe Idee wie deine Zählung, nur viel größer. Er schaut auf viele Wörter vor dem nächsten, nicht nur auf das letzte.
Wenn du neugierig bist: Das Hochschulmodul „Wie Sprachmodelle funktionieren: Transformer von Grund auf“ zeigt, wie das geht.