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

Che cosa sono i token e come contarli?

Aggiornato: 16 days ago

Che cosa sono i token?

I token sono i mattoni che compongono il testo elaborato dai modelli OpenAI. Possono essere lunghi quanto un singolo carattere o quanto 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.

Regole pratiche utili per l’inglese:

  • 1 token ≈ 4 caratteri

  • 1 token ≈ ¾ di una parola

  • 100 token ≈ 75 parole

  • 1–2 frasi ≈ 30 token

  • 1 paragrafo ≈ 100 token

  • ~1.500 parole ≈ 2.048 token

La tokenizzazione può variare in base alla lingua. Ad esempio, “Cómo estás” (spagnolo per “Come stai”) contiene 5 token per 10 caratteri. I testi non in inglese spesso producono un rapporto token/caratteri più elevato, che può incidere su costi e limiti.

Esempi

Ecco alcuni esempi di testo reali con il rispettivo conteggio approssimativo di token:

  • La citazione di Wayne Gretzky “You miss 100% of the shots you don’t take” = 11 token

  • Lo Statuto di OpenAI = 476 token

  • La Dichiarazione d’Indipendenza degli Stati Uniti = 1.695 token

Come si calcolano 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 una sequenza di token, quindi riconvertita in testo.

L’utilizzo dei token viene tracciato in diverse categorie:

  • Token di input – token nella tua richiesta.

  • Token di output – token generati nella risposta.

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

  • Token di ragionamento – in alcuni modelli avanzati, vengono inclusi internamente passaggi extra di “ragionamento” 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 interattivo Tokenizer, che ti consente 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 come tokenizer BPE veloce usato specificamente per i modelli OpenAI.

Limiti di token

Ogni modello ha un limite massimo di token complessivi (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 in base alla versione del modello e al tuo livello di utilizzo.

Se superi il limite, puoi:

  • Accorciare o riformulare i prompt.

  • Suddividere testi lunghi in parti più piccole.

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

Prezzo dei token

L’utilizzo dell’API è tariffato per token, e varia in base al modello e al fatto che i token siano di input, di output o in cache. Consulta la pagina prezzi di OpenAI per le tariffe aggiornate. Alcuni modelli di ragionamento possono usare più token internamente, ma mirano a migliorare l’efficienza riducendo il numero di token necessari per completare un’attività.

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 convertono i token previsti di nuovo 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 nel testo. Osserva come l’API genera i valori dei token per la parola ‘red’ in base al suo 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 qui 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 l’iniziale 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 dai due esempi precedenti della parola.

Osservazioni:

Più un token è probabile/frequente, più basso è il numero di token assegnato:

  • Il token generato per il punto è lo stesso (“13”) in tutte e 3 le frasi. Questo perché, contestualmente, il punto viene usato in modo piuttosto simile in tutto il corpus.

  • Il token generato per ‘red’ varia a seconda della sua posizione nella frase:

    • Minuscolo al centro di una frase: ‘ red’ - (token: “2266”)

    • Maiuscolo al centro di una frase: ‘ Red’ - (token: “2297”)

    • Maiuscolo all’inizio di una frase: ‘Red’ - (token: “7738”)

Questo articolo è stato utile?