Che cosa sono i token?
I token sono gli elementi di base del testo elaborati dai modelli OpenAI. Possono essere brevi come un singolo carattere o lunghi come una parola intera, a seconda della lingua e del contesto. Spazi, punteggiatura e parole parziali contribuiscono tutti al conteggio dei token. È così che l’API segmenta internamente il tuo testo prima di generare una risposta.
Regole pratiche utili per l’inglese:
1 token ≈ 4 caratteri
1 token ≈ ¾ di parola
100 token ≈ 75 parole
1–2 frasi ≈ 30 token
1 paragrafo ≈ 100 token
~1.500 parole ≈ 2.048 token
La tokenizzazione varia in base al modello e alla codifica. Usa lo strumento Tokenizer o tiktoken.encoding_for_model(model) per ottenere il conteggio esatto per il modello di destinazione.
Esempi
Ecco alcuni esempi di testo reali con i relativi conteggi approssimativi di token:
La citazione di Wayne Gretzky «Sbagli il 100% dei tiri che non fai» = 11 token
La Carta di OpenAI = 476 token
La Dichiarazione d’indipendenza degli Stati Uniti = 1.695 token
Come vengono calcolati i conteggi dei token
Quando invii testo all’API:
Il testo viene suddiviso in token.
Il modello elabora questi token.
La risposta viene generata come sequenza di token, quindi riconvertita in testo.
L’uso dei token viene monitorato in diverse categorie:
Token di input – token nella tua richiesta.
Token di output – token generati nella risposta.
Token memorizzati nella cache – token riutilizzati nella cronologia della conversazione (spesso fatturati a una tariffa ridotta).
Token di ragionamento – in alcuni modelli avanzati, passaggi di «pensiero» aggiuntivi vengono inclusi internamente prima di produrre l’output finale.
Questi conteggi compaiono nei metadati della risposta dell’API e vengono usati per la fatturazione e il monitoraggio dell’utilizzo.
Per approfondire la tokenizzazione, puoi usare il nostro strumento Tokenizer interattivo, che ti permette di calcolare il numero di token e vedere come il testo viene suddiviso in token.
In alternativa, se vuoi tokenizzare il testo a livello di codice, usa Tiktoken, un tokenizzatore BPE veloce usato specificamente per i modelli OpenAI.
Limiti dei token
Ogni modello ha un limite massimo combinato di token (input + output). Gli attuali modelli ad alta capacità supportano fino a centinaia di migliaia di token nel contesto, anche se i limiti pratici possono variare a seconda della versione del modello e del tuo livello di utilizzo.
Se superi il limite, puoi:
Accorciare o riformulare i prompt.
Suddividere testi lunghi in blocchi più piccoli.
Riassumere o pre-elaborare gli input prima di inviarli.
Prezzi dei token
L’uso dell’API ha un prezzo per token, che varia in base al modello e al fatto che i token siano di input, di output o memorizzati nella cache. Consulta la pagina dei prezzi di OpenAI per le tariffe attuali. Alcuni modelli di ragionamento possono usare più token internamente, ma mirano a migliorare l’efficienza riducendo il numero di token necessari per ogni attività completata.
Esplorare i token
L’API tratta le parole in base al loro contesto nei dati del corpus. I modelli prendono il prompt, convertono l’input in un elenco di token, elaborano il prompt e riconvertono i token previsti nelle parole che vediamo nella risposta.
Ciò che a noi può sembrare costituito da due parole identiche può essere generato come token diversi a seconda di come sono strutturate all’interno del testo. Considera come l’API genera valori di token per la parola «red» in base al suo contesto all’interno del testo:
Nel primo esempio sopra, il token «2266» per ‘ red’ include uno spazio finale (nota: questi sono ID di token di esempio a scopo dimostrativo).
Il token «2296» per ‘ Red’ (con uno spazio iniziale e una lettera maiuscola all’inizio) è diverso dal token «2266» per ‘ red’ con una lettera minuscola.
Quando ‘Red’ viene usato all’inizio di una frase, il token generato non include uno spazio iniziale. Il token «7738» è diverso dai due esempi precedenti della parola.
Osservazioni:
Più un token è probabile/frequente, più basso è il numero di token assegnatogli:
Il token generato per il punto è lo stesso («13») in tutte e 3 le frasi. Questo perché, a livello di contesto, il punto viene usato in modo piuttosto simile in tutti i dati del corpus.
Il token generato per ‘red’ varia a seconda della sua posizione nella frase:
Minuscola al centro di una frase: ‘ red’ - (token: «2266»)
Maiuscola al centro di una frase: ‘ Red’ - (token: «2297»)
Maiuscola all’inizio di una frase: ‘Red’ - (token: «7738»)
