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

Offene Gewichte und Modelllizenzen

Nach dieser Lektion: Ich kann die Lizenz eines Modells lesen und sagen, was sie mir erlaubt.

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

Offene Gewichte sind nicht für jede Nutzung frei

Offene Gewichte heißt, dass die Dateien mit den Zahlen eines Modells heruntergeladen werden können. Es heißt nicht, dass Sie damit tun dürfen, was Sie wollen. Eine Lizenz legt die Bedingungen fest.

Das ist wichtig, weil ein Start-up, das auf einem Modell aufbaut, das es kommerziell nicht nutzen darf, aufhören muss. Die Bedingungen vorher zu lesen kostet zehn Minuten.

Am Ende dieser Lektion

Notiz

Ich kann die Lizenz eines Modells lesen und sagen, was sie mir erlaubt.

Schlüsselwörter

BegriffWas er bedeutet
Gewichtedie gelernten Zahlen eines Modells
Lizenzdie Bedingungen für die Nutzung einer Sache
Klauseleine einzelne Regel in einer Lizenz
Namensnennungsagen, wer es gemacht hat
Nutzergrenzeeine Obergrenze, etwa für die Zahl der Nutzer

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

Eine Lizenz sagt, was Sie tun dürfen

Die Gewichte eines Modells haben eine Lizenz, und der Code, der sie ausführt, kann eine andere haben. Lesen Sie beide.

Jede Regel ist eine Klausel. Übliche Klauseln fragen fünf Dinge. Ist kommerzielle Nutzung erlaubt? Gibt es eine Nutzergrenze? Welche Zwecke sind verboten? Dürfen Sie das Modell ändern, und müssen Sie die Änderungen teilen? Ist eine Namensnennung nötig?

Zu prüfende Klauseln in einfachen Worten

KlauselFrage
KommerziellDarf ich damit Geld verdienen?
NutzergrenzeGibt es eine Obergrenze, etwa für Nutzer?
Verbotene ZweckeSteht mein Zweck auf der Liste?
ÄnderungenDarf ich es ändern, und muss ich die Änderung teilen?
NamensnennungMuss ich zeigen, wer es gemacht hat?

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

Prüfen Sie eine Nutzung gegen jede Klausel

Schreiben Sie Ihre Nutzung auf: Ist sie kommerziell, wie viele Nutzer, welcher Zweck, ändern Sie das Modell und teilen Sie die Änderungen. Prüfen Sie sie dann der Reihe nach gegen jede Klausel.

Eine verletzte Klausel genügt für nicht erlaubt. Bestehen alle Klauseln, aber eine Namensnennung ist nötig, ist die Nutzung erlaubt mit Auflagen.

Ein häufiger Fehler

Warnung

Viele glauben, ein Modell auf einer öffentlichen Webseite sei für jede Nutzung frei. Dass etwas leicht herunterzuladen ist, sagt nichts über die Bedingungen. Lesen Sie die Klauseln für Ihre eigene Nutzung, bevor Sie darauf bauen. Diese Lektion ist Übung und keine Rechtsberatung.

Modell-Helfer 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\";' '// Die Token einer Antwort oder null, wenn sie keine nennt.' 'function zaehlen(daten, name) {' '  return daten.usage && typeof daten.usage[name] === \"number\" ? daten.usage[name] : null;' '}' > 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.

Modell-Helfer schreiben, Teil 2

Befehl
docker exec -w /home/node/project agent sh -c "printf '%s\n' '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 || 100 }),' '      signal: AbortSignal.timeout(30000),' '    });' '    if (res.ok === false) throw new Error(\"Status \" + res.status);' '    const d = await res.json();' '    return { text: d.choices[0].message.content, eingabe: zaehlen(d, \"prompt_tokens\"), ausgabe: zaehlen(d, \"completion_tokens\"), aufgezeichnet: false };' '  } catch (fehler) {' '    console.log(\"Aufgezeichnete Probe: Kein Modell hat geantwortet (\" + fehler.message + \").\");' '    return { text: probe, eingabe: null, ausgabe: null, aufgezeichnet: true };' '  }' '}' '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.

Lizenzprüfer schreiben, Teil 1

Befehl
docker exec -w /home/node/project agent sh -c "printf '%s\n' 'const { fragen } = require(\"./model\");' 'const lizenzen = [' '  { name: \"Offen A\", kommerziell: true, maxNutzer: 1000, verboten: [\"Waffen\"], namensnennung: true, aendern: true, teilen: false },' '  { name: \"Offen B\", kommerziell: false, maxNutzer: Infinity, verboten: [], namensnennung: false, aendern: true, teilen: true },' '];' 'const nutzung = { kommerziell: true, nutzer: 500, zweck: \"Nachhilfe\", aendert: true, teilt: false };' 'function probleme(l, n) {' '  const gefunden = [];' '  if (n.kommerziell && l.kommerziell === false) gefunden.push(\"kommerzielle Nutzung nicht erlaubt\");' '  if (n.nutzer > l.maxNutzer) gefunden.push(\"ueber der Nutzergrenze\");' > lizenz.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.

Lizenzprüfer schreiben, Teil 2

Befehl
docker exec -w /home/node/project agent sh -c "printf '%s\n' '  if (l.verboten.includes(n.zweck)) gefunden.push(\"verbotener Zweck: \" + n.zweck);' '  if (n.aendert && l.aendern === false) gefunden.push(\"Aenderungen nicht erlaubt\");' '  if (n.aendert && l.teilen && n.teilt === false) gefunden.push(\"Aenderungen muessen geteilt werden\");' '  return gefunden;' '}' >> lizenz.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.

Lizenzprüfer schreiben, Teil 3

Befehl
docker exec -w /home/node/project agent sh -c "printf '%s\n' 'function urteil(l, n) {' '  if (probleme(l, n).length > 0) return \"nicht erlaubt\";' '  return l.namensnennung ? \"erlaubt mit Auflagen\" : \"erlaubt\";' '}' >> lizenz.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.

Lizenzprüfer schreiben, Teil 4

Befehl
docker exec -w /home/node/project agent sh -c "printf '%s\n' 'async function main() {' '  console.log(\"Nutzung: kommerziell, 500 Nutzer, Nachhilfe, geaendert, Aenderungen privat\");' '  for (const l of lizenzen) console.log(l.name + \": \" + urteil(l, nutzung) + \" | \" + probleme(l, nutzung).join(\"; \"));' '  const q = \"In einem kurzen Satz: Warum sollten Sie die Lizenz lesen, bevor Sie die Gewichte nutzen?\";' '  const probe = \"Offene Gewichte sind nur herunterladbar, und erst die Lizenz sagt, welche Nutzung erlaubt ist.\";' '  const r = await fragen([{ role: \"user\", content: q }], probe, 60);' '  console.log(\"Das Modell sagte: \" + r.text);' '}' 'main();' >> lizenz.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.

Lizenzprüfer ausführen

Befehl
docker exec -w /home/node/project agent node lizenz.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 Lizenzen hier sind erfunden

Offen A und Offen B sind zur Übung ausgedacht. Es sind keine echten Lizenzen, und sie sagen nichts über ein echtes Modell.

Der Prüfer tut nur, was Sie ihm sagen. Eine echte Lizenz braucht sorgfältiges Lesen, und ein echter Zweifel braucht eine qualifizierte Person.

Was der Run druckt

ZeileWas sie zeigt
Offen A: erlaubt mit Auflagen | Jede Klausel besteht, aber eine Namensnennung ist nötig
Offen B: nicht erlaubt | kommerzielle Nutzung nicht erlaubt; Aenderungen muessen geteilt werdenZwei Klauseln scheitern
Das Modell sagte: ...Ein Satz. Die Worte ändern sich bei jedem Lauf

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

Ü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.