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

Comprendere e contare i token

Scopri come i token di input, output, memorizzati nella cache e di ragionamento influiscono sull'uso dell'API, sui limiti dei modelli e sui costi.

Aggiornato: 3 days ago

Panoramica

I token sono le unità utilizzate dai modelli OpenAI per elaborare il testo. Un token può rappresentare un carattere, una parte di una parola, una parola intera o un segno di punteggiatura. Anche gli spazi influiscono sul modo in cui il testo viene suddiviso in token.

Il conteggio dei token non equivale al conteggio delle parole. Lo stesso testo può produrre conteggi di token diversi a seconda del modello, della relativa codifica e della lingua.

Comprendere come il testo viene trasformato in token

Quando invii del testo a un modello:

  1. Il testo viene suddiviso in token.

  2. Il modello elabora questi token.

  3. Il modello genera token di output. Questi possono includere il testo che ricevi e, per i modelli di ragionamento, i token di ragionamento interni che non vengono mostrati come testo della risposta.

Usare stime approssimative per il testo inglese

Queste stime possono aiutarti a valutare le dimensioni di un testo inglese:

  • 1 token corrisponde a circa 4 caratteri.

  • 1 token corrisponde a circa tre quarti di parola.

  • 100 token corrispondono a circa 75 parole.

Si tratta di stime, non di conteggi esatti. La lunghezza di frasi e paragrafi varia e, in altre lingue, il rapporto tra caratteri, parole e token può essere diverso.

Tenere conto di spazi e maiuscole

Una parola può essere suddivisa in token diversi a seconda dell'ortografia, delle maiuscole e del testo circostante.

Ad esempio, red, Red e red non contengono un testo identico: l'ultimo esempio include uno spazio iniziale. Una codifica può rappresentarli in modo diverso.

Anche gli ID dei token dipendono dalla codifica. Non presumere che l'ID di un token di esempio valga per ogni modello.

Distinguere i token di input da quelli di output

CategoriaDescrizione
Token di inputToken forniti al modello in una richiesta. Sono chiamati anche token del prompt.
Token di outputToken generati dal modello. Chat Completions li chiama token di completamento.
Token di input memorizzati nella cacheToken di input riutilizzati tramite il caching dei prompt. Il loro prezzo può differire da quello dei token di input non memorizzati nella cache.
Token di ragionamentoToken utilizzati internamente da un modello di ragionamento prima di produrre la risposta visibile.

I token di ragionamento non sono visibili nel testo della risposta, ma rientrano nell'utilizzo dell'output e vengono fatturati come token di output.

Una risposta visibile breve può quindi utilizzare più token di quanto suggerisca il testo visualizzato.

Contare i token prima di inviare una richiesta

Contare i token nel testo normale

Usa il Tokenizer per vedere come il testo viene suddiviso in token.

Per tokenizzare il testo normale a livello di codice, usa tiktoken. Seleziona la codifica per il modello di destinazione, ad esempio con tiktoken.encoding_for_model(model).

Il conteggio dei token di un testo normale non include necessariamente tutti i token di una richiesta API. La struttura dei messaggi, gli strumenti, gli schemi, le immagini e i file possono influire sul conteggio complessivo dell'input.

Contare i token di un input Responses completo

Per un input completo dell'API Responses, usa l'API di conteggio dei token di input.

Accetta i formati di input di Responses, inclusi messaggi, immagini, file, strumenti e conversazioni. Il conteggio include i token di formattazione usati per la struttura della richiesta, come i ruoli e i limiti dei messaggi.

Il conteggio dell'input non consente di prevedere quanti token di output genererà il modello.

Verificare l'uso effettivo dei token

Dopo una richiesta, esaminane le informazioni sull'utilizzo. I nomi dei campi variano in base all'endpoint:

  • Chat Completions restituisce prompt_tokens, completion_tokens e total_tokens.

  • Responses restituisce input_tokens, output_tokens e total_tokens.

Puoi anche esaminare l'attività nel tempo nella dashboard Utilizzo. Per le istruzioni, incluso l'utilizzo in streaming, consulta: Esaminare l'utilizzo e i costi dell'API.

Rispettare i limiti del modello

Consulta la documentazione del modello per conoscerne la finestra di contesto e l'output massimo. Questi limiti possono variare da un modello all'altro.

La finestra di contesto limita il numero di token che un modello può elaborare in una richiesta. I modelli hanno anche un limite di output. Per i modelli di ragionamento, lascia spazio sia ai token di ragionamento sia alla risposta visibile.

Se l'input è troppo grande, puoi:

  • Abbreviare o riformulare il prompt.

  • Rimuovere il contesto superfluo o ripetuto.

  • Suddividere gli input di grandi dimensioni in parti più piccole.

  • Riassumere o pre-elaborare il testo prima di inviarlo.

Usa l'impostazione dei token di output supportata dall'endpoint e dal modello. Chat Completions usa max_completion_tokens; Responses usa max_output_tokens.

Questi limiti alle dimensioni delle richieste sono distinti dai limiti di frequenza dell'API e dai limiti mensili di utilizzo o spesa. Consulta la documentazione del modello che utilizzi.

Comprendere i prezzi dei token

Per i prezzi delle API basati sui token, la tariffa dipende dal modello e dalla categoria di token. I token di input, di input memorizzati nella cache e di output possono avere prezzi diversi. Altre funzionalità dell'API possono utilizzare unità di fatturazione diverse.

Consulta la pagina dei prezzi dell'API per le tariffe attuali.

Quando confronti i modelli, considera il numero totale di token e il costo necessari per completare l'attività. Un prezzo inferiore per milione di token non comporta necessariamente un costo totale più basso: i modelli possono tokenizzare lo stesso testo in modo diverso e generare quantità diverse di output o ragionamento.

Esegui test con attività rappresentative anziché confrontare solo la lunghezza della risposta visibile.

Tenere conto di più completamenti

Quando un endpoint e un modello supportano la generazione di più completamenti, anche quelli aggiuntivi utilizzano token.

Per Chat Completions, impostare n su un valore maggiore di 1 genera più opzioni. Vengono addebitati i token generati per tutte queste opzioni.

Per l'API Completions legacy, best_of può generare candidati che non vengono restituiti tutti. Ad esempio, best_of = 3 può generare fino a 3 × max_tokens token di completamento complessivi tra i candidati.

Questi parametri sono specifici dell'endpoint. Non presumere che n o best_of siano supportati da un'altra API o da un altro modello.

Questo articolo è stato utile?