Modell-APIs rechnen pro Token ab
Die meisten Modell-APIs rechnen pro Token ab, nicht pro Aufruf. Eine kurze Frage und ein langer Aufsatz kosten sehr verschieden viel.
Die Kosten vor dem Aufruf abzuschätzen verhindert böse Überraschungen auf der Rechnung. Diese Lektion zeigt, wie.
Am Ende dieser Lektion
Notiz
Ich kann abschätzen, was ein Aufruf kostet, bevor ich ihn mache.
Schlüsselwörter
| Begriff | Was er bedeutet |
|---|---|
| Token | ein kleines Stück Text, das gezählt und berechnet wird |
| Eingabe-Token | die Token, die Sie im Prompt senden |
| Ausgabe-Token | die Token, die das Modell zurückschreibt |
| Preis pro Million | was eine Million Token kostet |
| Budget | das Höchste, was Sie ausgeben wollen |
Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.
Berechnet werden Eingabe- und Ausgabe-Token
Sie zahlen für die Eingabe-Token, die Sie senden, und die Ausgabe-Token, die das Modell schreibt. Die Ausgabe kostet meist mehr pro Token.
Ein Preis gilt pro Million Token. Die Preise in dieser Lektion sind erfunden. Echte Preise ändern sich: Lesen Sie die Seite des Anbieters.
Beispiel: ein Aufruf
| Teil | Token | Preis pro Million, in Cent | Kosten, in Millionstel Cent |
|---|---|---|---|
| Eingabe | 1000 | 200 | 200 000 |
| Ausgabe | 500 | 800 | 400 000 |
| Summe | 1500 | Entfällt | 600 000, also 0,6 Cent |
Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.
Token aus Zeichen schätzen
docker exec -w /home/node/project agent node -e "const text='Erklären Sie in einem Satz, was ein API-Schlüssel ist.';console.log('Zeichen: '+text.length);console.log('Geschätzte Token: '+Math.ceil(text.length/4))"Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.
Token lassen sich vor dem Aufruf schätzen
Bei Text ist ein Token ungefähr vier Zeichen. Ein Text mit 400 Zeichen hat also etwa 100 Token. Das ist eine grobe Schätzung, und Sprachen mit Umlauten oder anderen Schriften brauchen für denselben Sinn oft mehr Token.
Nach einem Aufruf meldet die Antwort meist die echten Zahlen.
Ein Modell aufrufen und die Token lesen
docker exec -w /home/node/project agent node -e "const u=(process.env.AI_URL||'http://ai:4000')+'/v1/chat/completions';const zeigen=(a,b)=>{console.log('Eingabe-Token: '+a+', Ausgabe-Token: '+b);console.log('Kosten bei den Lektionspreisen: '+(a*200+b*800)+' Millionstel Cent')};(async()=>{try{const r=await fetch(u,{method:'POST',headers:{'content-type':'application/json',authorization:'Bearer lab'},body:JSON.stringify({model:'lab',messages:[{role:'user',content:'Erklären Sie in einem Satz, was ein API-Schlüssel ist.'}],max_tokens:60})});const j=await r.json();if(r.ok===false)throw new Error(r.status+' '+j.error.message);console.log('Antwort: '+j.choices[0].message.content);if(j.usage)zeigen(j.usage.prompt_tokens,j.usage.completion_tokens);else console.log('Keine Token-Zahlen gemeldet.')}catch(e){console.log('Keine Antwort ('+e.message+'). Aufgezeichnetes Beispiel:');console.log('Antwort: Ein API-Schlüssel beweist, dass eine Anfrage von Ihnen kommt.');zeigen(14,16)}})()"Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.
Ein Limit hält die Ausgabe kurz
Die Eingabe steuern Sie mit kurzen Prompts. Die Ausgabe steuern Sie mit max_tokens, das die Antwort nach dieser Zahl von Token abschneidet.
In einem Chat sendet jede neue Runde die früheren Nachrichten noch einmal. Ein langer Chat wird deshalb mit jeder Runde teurer.
Anhalten, wenn das Budget aufgebraucht ist
docker exec -w /home/node/project agent node -e "const aufrufe=[[1000,500],[2000,800],[1500,1200],[3000,2000],[500,100]];let aus=0;const grenze=4000000;for(let i=0;i<aufrufe.length;i++){const k=aufrufe[i][0]*200+aufrufe[i][1]*800;if(aus+k>grenze){console.log('Aufruf '+(i+1)+' würde '+k+' kosten, also Stopp. Ausgegeben '+aus);break}aus+=k;console.log('Aufruf '+(i+1)+': Kosten '+k+', ausgegeben '+aus)}"Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.
Ein häufiger Fehler
Warnung
Viele glauben, jeder Aufruf koste gleich viel. Die Kosten wachsen mit den Token für Eingabe und Ausgabe, und ein langer Chat sendet seinen Verlauf erneut. Zählen Sie die Token, setzen Sie ein Limit und legen Sie das Budget fest, bevor eine Schleife läuft.