Start → Hilfe

Token-Verbrauch fehlt in einer gestreamten Antwort

Streaming lässt den Verbrauch standardmäßig weg. Setzen Sie stream_options: {"include_usage": true}, dann kommen die Zahlen in einem zusätzlichen Chunk ganz am Ende, nach dem letzten Content-Delta.

Was Sie sehen

Warum das passiert

Der Verbrauch steht erst fest, wenn die Generierung endet, also gibt es für die frühen Chunks nichts einzutragen. Statt einen Platzhalter zu senden, lässt die API das Feld null und hängt einen letzten Chunk an, sobald die Zahlen existieren.

Dieser letzte Chunk hat ein leeres choices-Array. Code, der aufhört zu lesen, sobald er finish_reason sieht, oder der Chunks ohne Delta überspringt, wirft genau den Chunk weg, den er braucht.

Nicht jede OpenAI-kompatible Implementierung unterstützt die Option. Wo sie fehlt, schätzen Sie entweder lokal oder lesen die maßgeblichen Zahlen aus dem Log des Anbieters.

Prüfen, ob es daran liegt

Fordern Sie den Verbrauch an und schauen Sie auf die letzte Zeile des Streams:

curl -N 'YOUR_BASE_URL/chat/completions' \
  -H 'Authorization: Bearer YOUR_KEY' -H 'Content-Type: application/json' \
  -d '{"model":"MODEL","stream":true,"stream_options":{"include_usage":true},"messages":[{"role":"user","content":"hi"}]}' | tail -3

Der Chunk vor [DONE] sollte ein gefülltes usage-Objekt mit leerem choices-Array enthalten.

So beheben Sie es

  1. Die Option ausdrücklich anfordernFügen Sie stream_options mit include_usage auf true hinzu. Ohne sie bleibt das Feld null, egal wie Sie den Stream lesen.
  2. Bis [DONE] weiterlesenBrechen Sie die Schleife nicht bei finish_reason ab. Der Verbrauchs-Chunk kommt danach.
  3. Lokale Zählungen als Schätzung behandelnTokenizer auf Client-Seite weichen von dem ab, was der Anbieter berechnet, besonders bei gecachtem Input. Gleichen Sie mit dem Log des Anbieters ab, nicht mit Ihrem eigenen Zähler.
APICLAN erfasst jeden Aufruf serverseitig, unabhängig vom Streaming – Zeitstempel, Modell, Input, Output, Cache-Lesen, Cache-Schreiben und den genau abgebuchten Betrag. Dieses Log ist die maßgebliche Zahl für den Abgleich.

Verwandte Themen

Unexpected token '<' beim Aufruf einer OpenAI-kompatiblen API401 invalid API key – wenn der Schlüssel richtig aussieht und trotzdem scheitert

Zuletzt geprüft am 2026-10-01. Geschrieben aus Problemen, die auf einem laufenden OpenAI-kompatiblen Gateway diagnostiziert wurden – nicht von anderen Seiten zusammengetragen.