OpenAI
Diese Seite wurde maschinell übersetzt. Den Originalartikel auf Englisch ansehen.

Token verstehen und zählen

Erfahre, wie sich Eingabe-, Ausgabe-, Cache- und Reasoning-Token auf API-Nutzung, Modelllimits und Kosten auswirken.

Aktualisiert: 7 days ago

Überblick

Token sind die Einheiten, mit denen Modelle von OpenAI Text verarbeiten. Ein Token kann ein Zeichen, einen Wortteil, ein ganzes Wort oder ein Satzzeichen darstellen. Auch Leerzeichen beeinflussen, wie Text in Token aufgeteilt wird.

Die Token-Anzahl entspricht nicht der Wortanzahl. Derselbe Text kann je nach Modell, Codierung und Sprache eine unterschiedliche Anzahl von Token ergeben.

Verstehen, wie Text zu Token wird

Wenn du Text an ein Modell sendest:

  1. Der Text wird in Token aufgeteilt.

  2. Das Modell verarbeitet diese Token.

  3. Das Modell erzeugt Ausgabe-Token. Dazu können der empfangene Text und bei Reasoning-Modellen interne Reasoning-Token gehören, die nicht als Antworttext angezeigt werden.

Englischen Text grob schätzen

Mit diesen Schätzwerten kannst du den Umfang englischer Texte beurteilen:

  • 1 Token entspricht ungefähr 4 Zeichen.

  • 1 Token entspricht ungefähr drei Vierteln eines Wortes.

  • 100 Token entsprechen ungefähr 75 Wörtern.

Dies sind Schätzwerte, keine exakten Zahlen. Die Länge von Sätzen und Absätzen variiert. In anderen Sprachen kann auch das Verhältnis zwischen Zeichen, Wörtern und Token anders sein.

Leerzeichen und Großschreibung berücksichtigen

Ein Wort kann je nach Schreibweise, Großschreibung und umgebendem Text in unterschiedliche Token aufgeteilt werden.

Beispielsweise enthalten red, Red und red nicht denselben Text: Das letzte Beispiel beginnt mit einem Leerzeichen. Eine Codierung kann sie unterschiedlich darstellen.

Token-IDs hängen ebenfalls von der Codierung ab. Gehe nicht davon aus, dass eine beispielhafte Token-ID für jedes Modell gilt.

Eingabe- und Ausgabe-Token unterscheiden

KategorieBeschreibung
Eingabe-TokenToken, die dem Modell in einer Anfrage übermittelt werden. Sie werden auch Prompt-Token genannt.
Ausgabe-TokenVom Modell erzeugte Token. Chat Completions bezeichnet sie als Vervollständigungs-Token.
Zwischengespeicherte Eingabe-TokenDurch Prompt-Caching wiederverwendete Eingabe-Token. Ihr Preis kann sich von dem nicht zwischengespeicherter Eingabe-Token unterscheiden.
Reasoning-TokenToken, die ein Reasoning-Modell intern verwendet, bevor es seine sichtbare Antwort erzeugt.

Reasoning-Token sind nicht als Antworttext sichtbar, zählen aber zur Ausgabenutzung und werden als Ausgabe-Token abgerechnet.

Eine kurze sichtbare Antwort kann daher mehr Token verbrauchen, als ihr angezeigter Text vermuten lässt.

Token vor dem Senden einer Anfrage zählen

Token in Klartext zählen

Mit dem Tokenizer kannst du sehen, wie Text in Token aufgeteilt wird.

Verwende für die programmgesteuerte Tokenisierung von Klartext tiktoken. Wähle die Codierung für dein Zielmodell aus, beispielsweise mit tiktoken.encoding_for_model(model).

Die Token-Anzahl für Klartext umfasst nicht unbedingt alle Token einer API-Anfrage. Nachrichtenstruktur, Tools, Schemas, Bilder und Dateien können die Gesamtzahl der Eingabe-Token beeinflussen.

Token einer vollständigen Responses-Eingabe zählen

Verwende für eine vollständige Eingabe an die Responses API die API zum Zählen von Eingabe-Token.

Sie akzeptiert Eingabeformate von Responses, darunter Nachrichten, Bilder, Dateien, Tools und Unterhaltungen. Die Zählung umfasst Formatierungs-Token für die Anfragestruktur, etwa Nachrichtenrollen und Begrenzungen.

Aus der Anzahl der Eingabe-Token lässt sich nicht vorhersagen, wie viele Ausgabe-Token das Modell erzeugt.

Tatsächliche Token-Nutzung prüfen

Prüfe nach einer Anfrage die zugehörigen Nutzungsdaten. Die Feldnamen unterscheiden sich je nach Endpunkt:

  • Chat Completions gibt prompt_tokens, completion_tokens und total_tokens an.

  • Responses gibt input_tokens, output_tokens und total_tokens an.

Im Usage Dashboard kannst du außerdem die Aktivität im Zeitverlauf prüfen. Anleitungen, auch zur Nutzung beim Streaming, findest du unter API-Nutzung und -Kosten prüfen.

Modelllimits einhalten

Informiere dich in der Dokumentation deines Modells über dessen Kontextfenster und maximale Ausgabe. Diese Limits können je nach Modell variieren.

Das Kontextfenster begrenzt die Anzahl der Token, die ein Modell in einer Anfrage verarbeiten kann. Modelle haben außerdem ein Ausgabelimit. Plane bei Reasoning-Modellen neben der sichtbaren Antwort auch Platz für Reasoning-Token ein.

Wenn deine Eingabe zu groß ist, kannst du:

  • Den Prompt kürzen oder umformulieren.

  • Unnötigen oder wiederholten Kontext entfernen.

  • Große Eingaben in kleinere Teile aufteilen.

  • Text vor dem Senden zusammenfassen oder vorverarbeiten.

Verwende die von deinem Endpunkt und Modell unterstützte Einstellung für Ausgabe-Token. Chat Completions verwendet max_completion_tokens, Responses verwendet max_output_tokens.

Diese Limits für die Anfragegröße gelten unabhängig von API-Ratenlimits und monatlichen Nutzungs- oder Ausgabenlimits. Sieh dir die Modelldokumentation für dein Modell an.

Token-Preise verstehen

Bei tokenbasierter API-Abrechnung hängt der Preis vom Modell und von der Token-Kategorie ab. Eingabe-, Cache-Eingabe- und Ausgabe-Token können unterschiedliche Preise haben. Für andere API-Funktionen können andere Abrechnungseinheiten gelten.

Die aktuellen Preise findest du auf der Seite mit den API-Preisen.

Berücksichtige beim Vergleich von Modellen die Gesamtzahl der Token und die Kosten für die Erledigung deiner Aufgabe. Ein niedrigerer Preis pro Million Token führt nicht unbedingt zu niedrigeren Gesamtkosten: Modelle können denselben Text unterschiedlich tokenisieren und unterschiedlich viele Ausgabe- oder Reasoning-Token erzeugen.

Teste repräsentative Aufgaben, statt nur die Länge der sichtbaren Antwort zu vergleichen.

Mehrere Vervollständigungen berücksichtigen

Wenn ein Endpunkt und ein Modell mehrere Vervollständigungen erzeugen können, verbrauchen auch diese zusätzlichen Vervollständigungen Token.

Bei Chat Completions erzeugt ein Wert von n über 1 mehrere Auswahlmöglichkeiten. Die über diese Auswahlmöglichkeiten hinweg erzeugten Token werden dir berechnet.

Bei der veralteten Completions API kann best_of Kandidaten erzeugen, die nicht alle zurückgegeben werden. Beispielsweise kann best_of = 3 über alle Kandidaten hinweg bis zu 3 × max_tokens Vervollständigungs-Token erzeugen.

Diese Parameter sind endpunktspezifisch. Gehe nicht davon aus, dass n oder best_of von einer anderen API oder einem anderen Modell unterstützt wird.

War dieser Artikel hilfreich?