Lässt es sich mit cremefarbenem Papier, einer Tönung, mehr Kontrast oder größerer Schrift besser lesen? Wählen Sie Ihre Farben und Ihre Schrift, einmalig für alle Seiten.

Kostenlose Lektion

Texte mit einem Modell klassifizieren

Nach dieser Lektion: Ich kann Texte mit einer festen Liste etikettieren und messen, wie oft die Etiketten stimmen.

Lektion, 60 Min.6 BefehleLab für KI-Coding-Agenten: mit opencode Code erklären und reparieren lassen und die Arbeit prüfen

Das Support-Postfach sortieren

Texte mit einem Modell zu klassifizieren heißt, es für jede Nachricht ein Etikett aus einer festen Liste wählen zu lassen. Das ist wichtig, weil ein Programm ein Etikett weiterleiten kann, einen freien Satz aber nicht.

Die App der Mensa eines Campus will jede Nachricht an die Abrechnung, an das App-Team oder an eine allgemeine Stelle schicken. Ein Modell kann die Nachricht lesen und die richtige Stelle nennen. Offen ist, wie oft es recht hat.

Am Ende dieser Lektion

Notiz

Ich kann Texte mit einer festen Liste etikettieren und messen, wie oft die Etiketten stimmen.

Schlüsselwörter

BegriffWas er bedeutetBeispiel
Etikettein Wort, das die Art eines Textes nenntabrechnung
Erlaubte Etikettendie feste Liste, aus der das Etikett stammen muss
Unbekanntdas Etikett für einen Text, der in keines passt
Bekannte Antwortdas Etikett, das eine Person vorher gewählt hat
Genauigkeitder Anteil der Etiketten, die der bekannten Antwort gleichen
TestfälleTexte mit bekannter Antwort, zum Messen

Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.

Eine feste Liste und ein Etikett unbekannt geben

Schreiben Sie die erlaubten Etiketten in die Aufforderung und sagen Sie: nur mit dem Wort antworten. Geben Sie einen Ausweg. Passt kein Etikett, soll das Modell unbekannt sagen, damit es kein falsches wählen muss.

Bereinigen Sie dann, was zurückkommt. Eine Antwort kann einen Großbuchstaben, einen Punkt oder zusätzliche Worte haben. Machen Sie daraus ein erlaubtes Etikett oder unbekannt.

Beispiel: fünf Antworten bereinigen

AntwortBereinigtes EtikettWarum
abrechnungabrechnungSchon ein erlaubtes Etikett
Fehler.fehlerGroßbuchstabe und Punkt entfernt
"sonstiges"sonstigesAnführungszeichen entfernt
Es ist ein FehlerunbekanntMehrere Worte, kein Etikett
erstattungunbekanntNicht auf der erlaubten Liste

Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.

Mit bekannten Antworten messen

Um zu wissen, wie gut ein Etikettierer ist, testen Sie ihn. Schreiben Sie zuerst Testfälle: Texte mit einer bekannten Antwort, die eine Person gewählt hat. Lassen Sie das Modell jeden bearbeiten, bereinigen Sie das Etikett und vergleichen Sie.

Die Genauigkeit ist die Zahl der richtigen Etiketten geteilt durch alle, als ganze Prozentzahl. Lesen Sie dann die falschen. Sie zeigen, was an der Aufforderung zu verbessern ist.

Die Modellhilfe schreiben, Teil 1

Befehl
docker exec -w /home/node/project agent sh -c "printf '%s\n' 'const basis = process.env.AI_URL || \"http://ai:4000\";' 'async function fragen(nachrichten, probe, max) {' '  try {' '    const res = await fetch(basis + \"/v1/chat/completions\", {' '      method: \"POST\",' '      headers: { \"content-type\": \"application/json\", authorization: \"Bearer lab\" },' '      body: JSON.stringify({ model: \"lab\", messages: nachrichten, max_tokens: max || 200 }),' '      signal: AbortSignal.timeout(30000),' '    });' '    if (res.ok === false) throw new Error(\"Status \" + res.status);' '    return (await res.json()).choices[0].message.content;' > model.js"

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Die Modellhilfe schreiben, Teil 2

Befehl
docker exec -w /home/node/project agent sh -c "printf '%s\n' '  } catch (fehler) {' '    console.log(\"Aufgezeichnete Probe: Kein Modell hat geantwortet (\" + fehler.message + \").\");' '    const liste = [].concat(probe);' '    const runde = nachrichten.filter(function (m) { return m.role === \"assistant\"; }).length;' '    return liste[Math.min(runde, liste.length - 1)];' '  }' '}' 'module.exports = { fragen };' >> model.js"

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Den Etikettierer schreiben, Teil 1

Befehl
docker exec -w /home/node/project agent sh -c "printf '%s\n' 'const { fragen } = require(\"./model\");' '' 'const erlaubte = [\"abrechnung\", \"fehler\", \"sonstiges\"];' '// Fälle mit bekannter Antwort, von einer Person geschrieben, bevor das Modell gefragt wird.' 'const faelle = [' '  { text: \"Mein Essen wurde doppelt abgebucht.\", erwartet: \"abrechnung\" },' '  { text: \"Die App stürzt ab, wenn ich auf Bezahlen tippe.\", erwartet: \"fehler\" },' '  { text: \"Wann öffnet die Mensa am Samstag?\", erwartet: \"sonstiges\" },' '  { text: \"Meine Erstattung ist noch nicht angekommen.\", erwartet: \"abrechnung\" },' '];' > etikett5.js"

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Den Etikettierer schreiben, Teil 2

Befehl
docker exec -w /home/node/project agent sh -c "printf '%s\n' '// Aufgezeichnete Proben, nur benutzt, wenn kein Modell antwortet. Zwei sind absichtlich unordentlich.' 'const proben = [\"abrechnung\", \"Fehler.\", \"sonstiges\", \"erstattung\"];' 'const AUFFORDERUNG = \"Geben Sie dieser Support-Nachricht genau ein Wort aus dieser Liste: abrechnung, fehler, sonstiges. Passt keines, antworten Sie unbekannt. Antworten Sie nur mit dem Wort.\n\nNachricht: \";' '' '// Jede Antwort in ein erlaubtes Etikett oder in unbekannt verwandeln.' 'function etikettBereinigen(antwort) {' '  let text = antwort.trim().toLowerCase();' '  while (text.length > 0 && (text.endsWith(\".\") || text.endsWith(\" \"))) text = text.slice(0, -1);' '  return erlaubte.includes(text) ? text : \"unbekannt\";' '}' >> etikett5.js"

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Den Etikettierer schreiben, Teil 3

Befehl
docker exec -w /home/node/project agent sh -c "printf '%s\n' 'async function main() {' '  let richtig = 0;' '  let unbekannt = 0;' '  for (let nr = 0; nr < faelle.length; nr = nr + 1) {' '    const antwort = await fragen([{ role: \"user\", content: AUFFORDERUNG + faelle[nr].text }], proben[nr], 10);' '    const etikett = etikettBereinigen(antwort);' '    if (etikett === faelle[nr].erwartet) richtig = richtig + 1;' '    if (etikett === \"unbekannt\") unbekannt = unbekannt + 1;' '    console.log((nr + 1) + \" \" + etikett + \" (erwartet \" + faelle[nr].erwartet + \") \" + (etikett === faelle[nr].erwartet ? \"richtig\" : \"falsch\"));' '  }' '  console.log(\"Genauigkeit: \" + richtig + \" von \" + faelle.length + \" (\" + Math.floor(richtig * 100 / faelle.length) + \" Prozent)\");' '  console.log(\"Unbekannte Etiketten: \" + unbekannt);' '}' 'main();' >> etikett5.js"

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Mit vier Nachrichten ausführen

Befehl
docker exec -w /home/node/project agent node etikett5.js

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Eine mögliche Ausgabe

ZeileWas sie zeigen kann
1 bis 4Ein Etikett, das erwartete Etikett und richtig oder falsch
GenauigkeitZum Beispiel 3 von 4 (75 Prozent) oder 4 von 4
Unbekannte EtikettenWie viele Antworten sich nicht in ein erlaubtes Etikett verwandeln ließen

Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.

Ein häufiger Fehler

Warnung

Viele glauben, 100 Prozent bei wenigen Fällen beweise, dass der Etikettierer gut ist. Eine Handvoll Fälle beweist wenig. Nehmen Sie viele Fälle, nehmen Sie schwierige dazu und lesen Sie die falschen Antworten.

Über dieses Lab und seinen Quellcode: Lab für KI-Coding-Agenten: mit opencode Code erklären und reparieren lassen und die Arbeit prüfen

Sie unterrichten eine Gruppe? Weisen Sie dieses Modul Ihren Studierenden zu, mit Handbuch für Lehrende, automatisch geprüften Aufgaben und einem Lab für jede Person.