OpenAI
Questa pagina è stata tradotta automaticamente. Visualizza l'articolo originale in inglese.

Che cosa sono i token e come contarli?

Aggiornato: 8 days ago

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:

  1. Il testo viene suddiviso in token.

  2. Il modello elabora questi token.

  3. 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:

Sentence split into color-coded tokens with Text selected over Token IDs
Token ID output as a list of integers with the Token IDs tab selected

Nel primo esempio sopra, il token «2266» per ‘ red’ include uno spazio finale (nota: questi sono ID di token di esempio a scopo dimostrativo).

Sentence split into color-coded token blocks: My favorite color is Red.
Tokenizer output with Token IDs selected and a list of numeric token IDs

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.

Tokenizer example splitting “Red is my favorite color.” into color-coded tokens
Tokenizer output with Token IDs selected and a list of token ID numbers

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»)

Questo articolo è stato utile?