Vai al contenuto

Contatore di Token Gratuito per GPT-4, ChatGPT e Modelli AI

Contatore di token preciso utilizzando la libreria tiktoken di OpenAI. Conta i token per i modelli GPT-4, ChatGPT e GPT-3. Gestisci i costi API e ottimizza i prompt AI istantaneamente.

Contatore di Token

Codifica

Input non valido

Calcolatore di caricamento...
📚

Documentazione

Che cos'è un contatore di token?

Un contatore di token misura in quanti token si scompone un testo quando lo legge un modello linguistico di intelligenza artificiale. I token sono i piccoli frammenti di testo, come parole intere, parti di parole o segni di punteggiatura, che modelli come GPT-4 elaborano al posto delle singole lettere. Questo strumento usa tiktoken, il tokenizzatore BPE open source pubblicato da OpenAI per i suoi modelli, quindi i conteggi coincidono con quelli che produrrebbero i modelli OpenAI che usano la stessa codifica.

Come funziona la tokenizzazione

Un tokenizzatore non si limita a contare le parole. Fa passare il testo attraverso un algoritmo chiamato codifica a coppie di byte (BPE). L'algoritmo parte dai singoli byte del testo e unisce ripetutamente la coppia adiacente più frequente in un nuovo token, in base a schemi appresi durante l'addestramento da un grande insieme di testi. Il risultato è un vocabolario fisso di decine di migliaia di frammenti comuni: parole brevi intere, frammenti di parola frequenti e singoli caratteri per tutto ciò che è raro.

Per questo motivo, una parola inglese spesso diventa un solo token, ma le parole più lunghe o insolite possono dividersi in due o più. Gli spazi di solito sono attaccati all'inizio del token successivo anziché essere contati a parte, e i segni di punteggiatura sono in genere token a sé.

Codifiche supportate da questo strumento

Tiktoken offre diverse codifiche, ciascuna legata a una famiglia di modelli OpenAI. Questo strumento ne supporta quattro:

CodificaUsata daDimensione approssimativa del vocabolario
o200k_baseGPT-4o, GPT-4.1, GPT-5, o1, o3, o4-minicirca 200.000 token
cl100k_baseGPT-4, GPT-3.5 Turbo, modelli text-embedding-3circa 100.000 token
p50k_basetext-davinci-002, text-davinci-003 e modelli Codexcirca 50.000 token
r50k_baseModelli GPT-3 originali, come davincicirca 50.000 token

La tabella dei modelli di tiktoken associa i modelli sopra elencati a queste codifiche. GPT-4o, GPT-4.1, GPT-5 e i modelli della serie o usano o200k_base. GPT-4 e GPT-3.5 Turbo usano cl100k_base. Lo strumento elenca i modelli corrispondenti accanto a ciascuna opzione. cl100k_base è selezionata per impostazione predefinita.

Le definizioni delle codifiche assegnano a r50k_base 50.257 token e a p50k_base 50.281. Lo stesso testo può produrre un numero di token diverso con ciascuna codifica, perché ognuna è stata addestrata su testi diversi e unisce i caratteri in modo diverso.

Come calcolare il numero di token

Non esiste una semplice formula aritmetica per trasformare il numero di caratteri o di parole in un numero di token, perché le unioni del BPE dipendono dal testo specifico e dal vocabolario addestrato. L'unico metodo esatto è far passare il testo attraverso il tokenizzatore stesso:

  1. Scegliere la codifica che corrisponde al modello di destinazione.
  2. Inserire il testo nel tokenizzatore di quella codifica.
  3. Contare l'elenco risultante di ID dei token. La lunghezza di tale elenco è il numero di token.

Come stima approssimativa, la documentazione di tiktoken indica che ogni token corrisponde in media a circa 4 byte di testo. Per l'inglese semplice un byte equivale a un carattere, quindi sono circa quattro caratteri per token. Questa è solo un'indicazione. Numeri, codice, testo non inglese e ortografia insolita possono far variare molto il rapporto.

Esempio pratico

Si prenda la frase:

"Tokenization splits text into pieces." (in italiano: «La tokenizzazione divide il testo in pezzi»)

Con la codifica cl100k_base, tiktoken la suddivide in 7 token:

Token, ization, splits, text, into, pieces, .

Si noti che "Tokenization" si divide in due token, "Token" e "ization", mentre ogni altra parola resta intera. Il punto finale è un token a sé. Per questo una frase di 37 caratteri con 5 parole produce 7 token anziché 5. In questo esempio, o200k_base, p50k_base e r50k_base danno gli stessi 7 token.

Le codifiche differiscono di più sui testi non inglesi. L'OpenAI Cookbook le confronta sulla frase giapponese "お誕生日おめでとう" ("buon compleanno"). Conta 14 token con r50k_base e p50k_base, 9 con cl100k_base e 8 con o200k_base.

Perché il numero di token è importante

I fornitori di IA addebitano l'uso delle API in base ai token, contando sia il testo inviato sia quello generato in risposta, quindi il numero di token permette di prevedere il costo prima dell'invio di una richiesta. Ogni modello ha inoltre una lunghezza massima del contesto, un limite al numero di token che una singola richiesta e la sua risposta possono contenere insieme. Tale limite varia da modello a modello e cambia quando i fornitori rilasciano nuove versioni, quindi conviene verificarlo nella documentazione aggiornata del modello in uso anziché darlo per noto a memoria.

Domande frequenti

Che cos'è un token nei modelli linguistici di IA? Un token è un frammento di testo che un modello linguistico legge come un'unità. Può essere una parola breve intera, una parte di una parola più lunga, un segno di punteggiatura o uno spazio attaccato alla parola successiva.

Perché codifiche diverse danno un numero di token diverso per lo stesso testo? Ogni codifica è stata addestrata su un proprio campione di testo e ha costruito un proprio vocabolario di frammenti comuni. Una parola abbastanza comune da essere un singolo token in un vocabolario potrebbe non esserlo in un altro, quindi viene divisa in modo diverso.

La punteggiatura conta come token? Sì. I segni di punteggiatura sono di solito contati come token a sé, o talvolta uniti al carattere accanto, a seconda della frequenza con cui quella combinazione è comparsa durante l'addestramento del tokenizzatore.

Un token è la stessa cosa di una parola? No. Le parole brevi e comuni sono di solito un token ciascuna. Le parole più lunghe o meno comuni, e la maggior parte delle parole non inglesi, si dividono spesso in due o più token.

Quanto è accurato questo strumento? Conta i token con la libreria tiktoken di OpenAI, quindi il conteggio è esatto per la codifica scelta. Coincide con quello di un modello OpenAI solo se quel modello usa la stessa codifica.

Quale codifica va selezionata? Quella usata dal modello di destinazione. Per GPT-4o, GPT-4.1, GPT-5 e i modelli della serie o è o200k_base. Per GPT-4 e GPT-3.5 Turbo è cl100k_base.

Questo strumento può contare i token per modelli non OpenAI? Usa le codifiche di tiktoken, create per i modelli di OpenAI. Altri fornitori, come Anthropic o Google, usano tokenizzatori propri, che possono produrre conteggi diversi per lo stesso testo.

Riferimenti

  1. OpenAI. tiktoken (README). tiktoken su GitHub — un tokenizzatore BPE da usare con i modelli di OpenAI; in media ogni token corrisponde a circa 4 byte.
  2. OpenAI. tiktoken/_educational.py. codice didattico BPE di tiktoken — l'addestramento del BPE parte da singoli byte e trasforma ripetutamente la coppia più frequente in un nuovo token.
  3. OpenAI. tiktoken/model.py. tabella di corrispondenza tra modelli e codifiche di tiktoken — quali modelli OpenAI usano cl100k_base, p50k_base, r50k_base e o200k_base.
  4. OpenAI. tiktoken_ext/openai_public.py. definizioni delle codifiche di tiktoken — dimensioni del vocabolario di r50k_base (50.257) e p50k_base (50.281).
  5. OpenAI. How to count tokens with tiktoken, OpenAI Cookbook. notebook dell'OpenAI Cookbook — compare_encodings("お誕生日おめでとう") restituisce 14 token per r50k_base e p50k_base, 9 per cl100k_base e 8 per o200k_base.