Was, wenn der Anbieter morgen etwas ändert
Das Anbieterrisiko misst, wie stark eine Funktion von einem Anbieter abhängt, den Sie nicht kontrollieren. Es ist wichtig, weil ein Anbieter ausfallen, einen Preis erhöhen oder ein Modell zurückziehen kann. Ihre Funktion steht dann still oder wird viel teurer.
Die Abhängigkeit lässt sich nicht entfernen, aber Sie können sie sehen, bewerten und einen Ausweg planen.
Am Ende dieser Lektion
Notiz
Ich kann sagen, wie stark eine Funktion von einem Anbieter abhängt und was keine Ausweichlösung hat.
Schlüsselwörter
| Begriff | Was er bedeutet |
|---|---|
| Abhängigkeit | etwas, ohne das die Funktion nicht arbeiten kann |
| Einzelner Ausfallpunkt | eine Abhängigkeit ohne Ausweichlösung |
| Rückzug | ein Anbieter nimmt ein genutztes Modell vom Markt |
| Wechselzeit | die Tage, die ein Ersatz braucht |
| Ausstiegsplan | die schriftlichen Schritte, einen Anbieter zu verlassen |
Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.
Listen Sie auf, wovon die Funktion abhängt
Schreiben Sie jede Abhängigkeit auf: das Modell, die Daten, die es liest, die Werkzeuge, die es aufruft. Fragen Sie je drei Dinge. Gibt es eine Ausweichlösung? Wie lange dauert der Ersatz? Was erleben die Nutzer in der Zeit?
Eine Abhängigkeit ohne Ausweichlösung ist ein einzelner Ausfallpunkt. Bewerten Sie sie und arbeiten Sie die Liste von oben ab.
Durchgerechnetes Beispiel: zwei Abhängigkeiten
| Abhängigkeit | Gewicht | Ohne Ausweichlösung | 60 Tage Ersatz | Punkte |
|---|---|---|---|---|
| Chat-Modell | 3 | verdoppelt auf 6 | plus 1 | 7 |
| Dokumentensuche | 2 | hat eine Ausweichlösung | nur 10 Tage | 2 |
Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.
Planen Sie den Ausweg, bevor Sie ihn brauchen
Ein Anbieter kann ein Modell zurückziehen, den Preis ändern oder lange ausfallen. Entscheiden Sie jetzt, was Sie täten: ein zweites Modell, einen Cache, eine schlichtere Antwort oder eine Pause.
Schreiben Sie den Ausstiegsplan auf und probieren Sie den zweiten Weg gelegentlich aus. Eine Ausweichlösung, die nie läuft, funktioniert am Tag X vielleicht nicht. Das Modul über Kosten, Tracing und Zuverlässigkeit zeigt, wie man für jeden Fehler eine Ausweichlösung wählt.
Ein häufiger Fehler
Warnung
Viele glauben, ein großer Anbieter könne nicht ausfallen, ein Plan sei also unnötig. Auch große Anbieter haben Ausfälle, ändern Preise und ziehen Modelle zurück. Beurteilen Sie jede Abhängigkeit danach, was Ihren Nutzern geschieht, wenn sie wegfällt, nicht nach der Größe des Anbieters.
Modell-Helfer schreiben, Teil 1
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
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.
Abhängigkeitspunkte schreiben, Teil 1
docker exec -w /home/node/project agent sh -c "printf '%s\n' 'const { fragen } = require(\"./model\");' '' '// Ein erfundener Entwurf: wovon die Funktion abhängt, ob es eine Ausweichlösung gibt und wie viele Tage der Ersatz braucht.' 'const entwurf = [' ' { name: \"Chat-Modell\", art: \"modell\", ausweich: false, tage: 60 },' ' { name: \"Dokumentensuche\", art: \"daten\", ausweich: true, tage: 10 },' ' { name: \"Zahlungs-API\", art: \"werkzeug\", ausweich: false, tage: 20 },' ' { name: \"Sprache zu Text\", art: \"modell\", ausweich: true, tage: 45 },' '];' 'const GEWICHT = { modell: 3, daten: 2, werkzeug: 1 };' > lieferant.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.
Abhängigkeitspunkte schreiben, Teil 2
docker exec -w /home/node/project agent sh -c "printf '%s\n' 'function punkte(d) {' ' let p = GEWICHT[d.art];' ' if (d.ausweich === false) p = p * 2;' ' if (d.tage > 30) p = p + 1;' ' return p;' '}' >> lieferant.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.
Abhängigkeitspunkte schreiben, Teil 3
docker exec -w /home/node/project agent sh -c "printf '%s\n' 'async function main() {' ' let gesamt = 0;' ' entwurf.forEach(function (d) {' ' gesamt = gesamt + punkte(d);' ' console.log(d.name + \": \" + punkte(d) + (d.ausweich ? \"\" : \" OHNE AUSWEICHLÖSUNG\"));' ' });' ' console.log(\"Gesamt: \" + gesamt);' ' const q = \"Nennen Sie drei kurze Fragen an einen Anbieter, bevor eine Funktion von ihm abhängt.\";' ' const r = await fragen([{ role: \"user\", content: q }], \"1. Wie viel Vorlauf geben Sie bei einer Preisänderung? 2. Wie lange bleibt eine alte Version verfügbar? 3. Wie exportiere ich meine Daten?\", 90);' ' console.log(\"Eine mögliche Liste: \" + r.text);' '}' 'main();' >> lieferant.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.
Abhängigkeitspunkte ausführen
docker exec -w /home/node/project agent node lieferant.jsHier 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
| Zeile | Was sie zeigt |
|---|---|
| Chat-Modell: 7 OHNE AUSWEICHLÖSUNG | Die höchste Punktzahl und ein einzelner Ausfallpunkt |
| Dokumentensuche: 2 | Eine Ausweichlösung und eine kurze Wechselzeit |
| Zahlungs-API: 2 OHNE AUSWEICHLÖSUNG | Keine Ausweichlösung, aber ein geringes Gewicht |
| Sprache zu Text: 4 | Eine Ausweichlösung, aber 45 Tage Wechselzeit: Gewicht 3 plus 1 |
| Gesamt: 15 | Der Entwurf als Ganzes |
| Eine mögliche Liste: ... | Ihr eigener Aufruf. Er ändert sich bei jedem Lauf oder zeigt Aufgezeichnete Probe |
Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.