KI-Tokens und Wörter: erst die Anfrage messen, dann Kosten schätzen
Ein Token ist eine Einheit eines bestimmten Tokenizers, keine feste Wort- oder Zeichenzahl. Für genaue Textzählung braucht es passenden Tokenizer und Einstellungen. Bei vollständigen Anfragen gehören Struktur und Werkzeuge dazu; vergleiche anschließend mit gemeldetem Verbrauch.
In dieser Anleitung
- Wörter, Unicode-Zeichen und Tokens unterscheiden
- Eine lokale Probe mit bekanntem Tokenizer zählen
- Bei Kontextplanung die gesamte Anfrage einbeziehen
- Ein reproduzierbares Messblatt anlegen
- Ausgabeplatz vor weiterer Eingabe reservieren
- Schätzung mit Verbrauch und Kosten abstimmen
- Häufige Fragen
- Quellen und Definitionen
Wörterzählen prüft Artikellänge, aber nicht zuverlässig Kontextbedarf oder Kosten einer KI-Anfrage. Derselbe Text kann unterschiedlich zerlegt werden; Anfragen enthalten oft mehr als die letzte Nachricht.
Trenne Rohtext, vollständige Anfrage und abgerechneten Verbrauch. Lokales Beispiel und Messblatt erfinden keine exakten Zahlen für ein nicht ausgeführtes Modell.
Wörter, Unicode-Zeichen und Tokens unterscheiden
Ein Wort kann ein Token, mehrere Teilstücke oder Einheiten mit Leerzeichen und Satzzeichen bilden. Wort-, Zeichen- und Teilwortverfahren unterscheiden sich. Sprache, Code, Schreibweise, Leerraum und Wortschatz beeinflussen die Zerlegung.
Unicode-Zählung beantwortet anderes. Ein Zeichen kann mehrere Codeeinheiten oder Bytes benötigen, ein sichtbares Symbol mehrere Codepunkte. Eine universelle Token-Umrechnung gibt es nicht. Verhältniszahlen sind nur grobe Näherungen für angegebene Proben.
| Aufgabe | Nützliche Messung | Grenze |
|---|---|---|
| Artikellänge prüfen | Wörter oder Unicode-Zeichen | Bestimmt keine Modell-Tokens |
| Rohtext für einen Tokenizer messen | Token-IDs mit passenden Einstellungen | Kann Chatformat und Zusatzstruktur auslassen |
| Strukturierte API-Anfrage schätzen | Unterstützte Zählung oder exaktes Anfrageformat | Kann vom Endverbrauch abweichen |
| Abrechnung nachvollziehen | Echte Verbrauchsfelder und aktuelle Regeln | Schätzt keine Anfrage eines anderen Anbieters |
Eine lokale Probe mit bekanntem Tokenizer zählen
Lade beim Hugging-Face-Format die passende tokenizer.json und kodiere eine UTF-8-Datei. Notiere Modell, Dateirevision, Paketversion und Spezialtoken-Einstellung. Das Beispiel nutzt tokenizers 0.23.2, ohne Auffüllung, Abschneiden und zusätzliche Spezialtokens.
Beziehe die Datei aus der offiziellen Modellverteilung. Der Code lädt kein Modell herunter, sendet keinen Text und bildet keine vollständige Chat-API ab. Aussagekräftig ist er nur mit Tokenizer und Einstellungen der konkreten Messfrage.
# Example environment: tokenizers==0.23.2
from pathlib import Path
from importlib.metadata import version
from tokenizers import Tokenizer
# Use the matching tokenizer.json already saved locally.
tokenizer = Tokenizer.from_file("tokenizer.json")
tokenizer.no_padding()
tokenizer.no_truncation()
text = Path("sample.txt").read_text(encoding="utf-8")
encoded = tokenizer.encode(text, add_special_tokens=False)
print("tokenizers version:", version("tokenizers"))
print("raw-text tokens:", len(encoded.ids))
# Record tokenizer identity/revision separately.
# This is not a complete chat-request or billing count.Bei Kontextplanung die gesamte Anfrage einbeziehen
Zur letzten Nachricht können Anweisungen, Verlauf, abgerufene Texte, Werkzeugdefinitionen und Formatierung kommen. Chatvorlagen fügen Kontrolltokens zwischen Rollen und Nachrichten ein. Nur den letzten Absatz zu zählen unterschätzt deshalb die Eingabe.
Nutze eine dokumentierte Anbieterzählung, soweit sie deine Eingabetypen unterstützt. Werkzeuge, Bilder und Dokumente können Schätzgrenzen haben oder echte Verbrauchsdaten erfordern. Gib Geheimnisse und sensible Kundentexte nicht in unbekannte Onlinezähler. Lokale Verarbeitung und Anbieter-Endpunkt behandeln Daten unterschiedlich.
Ein reproduzierbares Messblatt anlegen
Wähle typische Supportnachrichten, Code, Tabellen und Abschnitte jeder Anwendungssprache. Bewahre exakt dieselben Bytes, damit Zeilenenden, Satzzeichen und Leerraum zwischen Läufen nicht wechseln.
Erfasse Kennung, Revision, Spezialtokens, Rohtextzahl und verfügbare Gesamtschätzung. Lass Unbekanntes ungemessen statt zu raten. Unterschiedliche Zahlen beschreiben diese Proben, nicht die Sprachqualität der Tokenizer.
| Probe | Tokenizer und Revision | Rohtextzählung | Gesamtanfrage oder Schätzung |
|---|---|---|---|
| Supportnachricht | Exakte Kennung notieren | Lokal messen | Mit unterstütztem Anfrageformat messen |
| Codeausschnitt | Exakte Kennung notieren | Lokal messen | Mit unterstütztem Anfrageformat messen |
| Abschnitt einer weiteren Sprache | Exakte Kennung notieren | Lokal messen | Mit unterstütztem Anfrageformat messen |
Ausgabeplatz vor weiterer Eingabe reservieren
Im hypothetischen Beispiel werden von 32,000 gemeinsamem Kontext 4,000 für Ausgabe und 2,000 als Puffer reserviert. Es bleiben 26,000 für gemessene Eingabe. Benötigen Anweisungen, Verlauf und Werkzeuge 8,000, bleiben 18,000 für abgerufenen Inhalt.
Das sind keine aktuellen Modelldaten. Kontext, Ausgabe, Denken und Werkzeuge können anders definiert sein. Prüfe den aktuellen Vertrag und verwende echte Mengen im Kontextrechner. Dass alles hineinpasst, macht nicht jeden Text nützlich.
Hypothetical planning budget:
32,000 combined context
− 4,000 output reserve
− 2,000 planning buffer
= 26,000 input budget
26,000 − 8,000 instructions/history/tools
= 18,000 available for retrieved contentSchätzung mit Verbrauch und Kosten abstimmen
Speichere nach einem kleinen echten Test die gemeldeten Verbrauchsfelder und vergleiche dieselbe Anfrage. Behandle Cache-Eingabe, Ausgabe, Denken und weitere dokumentierte Kategorien getrennt. Ein verändertes Wörter-Token-Verhältnis ersetzt keine vergessene Werkzeugdefinition.
Nutze echte Tokenzahlen und von dir eingetragene aktuelle Preise. Trenne Ein- und Ausgabe und bewahre Preiseinheiten, etwa pro Million. Ein nachvollziehbares Kostenblatt beruht auf Messungen und benannten Tarifen statt einer universellen Wortumrechnung.
Häufige Fragen
Sind ein Token immer vier Zeichen?
Nein. Das ist höchstens eine grobe Näherung für manche Texte und Tokenizer. Sprache, Code, Satzzeichen, Leerraum und Verfahren verändern das Ergebnis.
Warum weicht lokale Zählung vom API-Verbrauch ab?
Die Anfrage kann Formatierung, Anweisungen, Verlauf, Werkzeuge und weitere Eingaben ergänzen. Auch Tokenizer und Spezialtokens können abweichen. Vergleiche die vollständige Anfrage und Anbieterdefinitionen.
Kann der Wortzähler exakte Modell-Tokens bestimmen?
Nein. Er misst Wörter und Unicode-Zeichen. Nutze passenden Tokenizer oder unterstützte Anbieterzählung und danach Kosten- und Kontextrechner mit diesen Messwerten.
Quellen und Definitionen
- Hugging Face LLM Course: Tokenizers
- Claude Platform: Token counting
- Hugging Face tokenizers 0.23.2: published Python package and API examples
- Hugging Face Transformers: Chat templates
Methode geprüft: