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

Che cosa sono i token e come contarli?

Understand how OpenAI models count tokens and how token usage affects limits and API pricing.

Aggiornato: 3 hours ago

Che cosa sono i token?

I token sono gli elementi di base del testo elaborato dai modelli OpenAI. Possono essere brevi come un singolo carattere o lunghi come un'intera parola, a seconda della lingua e del contesto. Spazi, punteggiatura e parti di parole contribuiscono tutti al conteggio dei token. È così che l'API segmenta internamente il testo prima di generare una risposta.

Indicazioni pratiche 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 testi reali con il relativo numero approssimativo 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 viene calcolato il numero di token

Quando invii del 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 e poi riconvertita in testo.

L'utilizzo dei token viene registrato in diverse categorie:

  • Token di input – token presenti nella richiesta.

  • Token di output – token generati nella risposta.

  • Token memorizzati nella cache – token riutilizzati dalla cronologia della conversazione (spesso fatturati a una tariffa ridotta).

  • Token di ragionamento – in alcuni modelli avanzati vengono inclusi internamente ulteriori «passaggi di pensiero» 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 consente di calcolare il numero di token e vedere come viene suddiviso il testo.

In alternativa, per tokenizzare il testo tramite codice, usa Tiktoken, un veloce tokenizzatore BPE utilizzato specificamente per i modelli OpenAI.

Limiti di token

Ogni modello ha un limite massimo complessivo di token (input + output). Gli attuali modelli ad alta capacità supportano contesti contenenti fino a centinaia di migliaia di token, anche se i limiti effettivi possono variare in base alla versione del modello e al piano di utilizzo.

Se superi il limite, puoi:

  • Abbreviare o riformulare i prompt.

  • Suddividere i testi lunghi in parti più piccole.

  • Riassumere o pre-elaborare gli input prima di inviarli.

Prezzi dei token

Il costo di utilizzo dell'API viene calcolato per token e varia in base al modello e al tipo di token: input, output o memorizzati nella cache. Consulta la pagina dei prezzi di OpenAI per le tariffe attuali. Alcuni modelli di ragionamento possono usare internamente più token, ma puntano a migliorare l'efficienza riducendo il numero di token necessari per completare ogni attività.

I token non sono standardizzati tra i diversi modelli o fornitori di IA. Modelli diversi possono elaborare o generare lo stesso testo usando quantità diverse di token, quindi un prezzo pubblicizzato inferiore per milione di token non implica necessariamente un costo totale più basso.

Neppure la lunghezza visibile della risposta racconta tutta la storia. Alcuni modelli usano internamente token di ragionamento prima di produrre una risposta, quindi una risposta visibile più lunga non significa necessariamente che un modello abbia usato complessivamente più token.

Quando confronti i modelli, considera il numero totale di token necessari e il costo per ogni risultato ottenuto con successo. I benchmark possono essere un utile punto di partenza, ma provare i modelli sui tuoi casi d'uso è il modo migliore per comprenderne costi e prestazioni effettivi.

Esplorare i token

L'API tratta le parole in base al loro contesto nei dati del corpus. I modelli ricevono il prompt, convertono l'input in un elenco di token, elaborano il prompt e riconvertono i token previsti nelle parole che vediamo nella risposta.

Due parole che a noi sembrano identiche possono essere convertite in token diversi a seconda di come sono strutturate nel testo. Osserva come l'API genera i valori dei token per la parola «red» in base al contesto nel 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 riportato sopra, il token «2266» per « red» include uno spazio finale (nota: questi ID token sono esempi forniti 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 la lettera maiuscola) è diverso dal token «2266» per « red», con la 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 da quelli dei due esempi precedenti della parola.

Osservazioni:

Più un token è probabile o frequente, minore è il numero che gli viene assegnato:

  • Il token generato per il punto è lo stesso («13») in tutte e tre le frasi. Questo accade perché, nel contesto, il punto viene usato in modo piuttosto simile in tutto il corpus.

  • Il token generato per «red» varia in base alla 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?