Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Monitora l'utilizzo dei token contando i token prima di eseguire l'inferenza
Quando esegui l'inferenza del modello, il numero di token che invii in input contribuisce al costo della richiesta e alla quota di token che puoi utilizzare al minuto e al giorno. L'CountTokensAPI consente di stimare l'utilizzo dei token prima di inviare richieste ai modelli di base restituendo il numero di token che verrebbe utilizzato se lo stesso input fosse inviato al modello in una richiesta di inferenza.
Nota
L'utilizzo dell'CountTokensAPI non comporta costi.
Il conteggio dei token è specifico del modello perché modelli diversi utilizzano strategie di tokenizzazione diverse. Il conteggio dei token restituito da questa operazione corrisponderà al conteggio dei token che verrebbe addebitato se lo stesso input venisse inviato al modello per eseguire l'inferenza.
Puoi utilizzare l'CountTokens
API per effettuare le seguenti operazioni:
-
Stima i costi prima di inviare richieste di inferenza.
-
Ottimizza i prompt per adattarli ai limiti dei token.
-
Pianifica l'utilizzo dei token nelle tue applicazioni.
Argomenti
Modelli e regioni supportati per il conteggio dei token
L'API Count tokens è supportata nelle seguenti regioni (per ulteriori informazioni sulle regioni supportate in Amazon Bedrock, consulta gli endpoint e le quote di Amazon Bedrock):
-
Stati Uniti orientali (Virginia settentrionale)
-
Stati Uniti orientali (Ohio)
-
US West (Oregon)
-
Asia Pacifico (Tokyo)
-
Asia Pacifico (Mumbai)
-
Asia Pacifico (Singapore)
-
Asia Pacifico (Sydney)
-
Europa (Francoforte)
-
Europa (Zurigo)
-
Europa (Irlanda)
-
Europa (Londra)
-
Sud America (San Paolo)
L'API Count tokens è supportata per i seguenti modelli di base (per vedere quali regioni supportano ciascun modello, fai riferimento a): Modelli di fondazione supportati in Amazon Bedrock
-
Anthropic Claude 3.5 Haiku
-
Anthropic Claude 3.5 Sonnet v2
-
Anthropic Claude 3.5 Sonnet
-
Anthropic Claude 3.7 Sonnet
-
Anthropic Claude Opus 4
-
Anthropic Claude Sonnet 4
Conta i token in una richiesta
Per contare il numero di token di input in una richiesta di inferenza, invia una CountTokensrichiesta con un endpoint di runtime Amazon Bedrock, specifica il modello nell'intestazione e l'input per cui contare i token nel campo. body
Il valore del body
campo dipende dal fatto che tu stia contando i token di input per una richiesta o Converse: InvokeModel
-
Per una
InvokeModel
richiesta, il formato dibody
è una stringa che rappresenta un oggetto JSON il cui formato dipende dal modello specificato. -
Per una
Converse
richiesta, il formato dibody
è un oggetto JSON che specifica i promptmessages
e isystem
prompt inclusi nella conversazione.
Prova con un esempio
Gli esempi in questa sezione consentono di contare i token per una richiesta InvokeModel
and Converse
con. Anthropic Claude 3 Haiku
Prerequisiti
-
Hai scaricato AWS SDK per Python (Boto3) e la configurazione è configurata in modo tale che le tue credenziali e la AWS regione predefinita vengano riconosciute automaticamente.
-
La tua identità IAM dispone delle autorizzazioni per le seguenti azioni (per ulteriori informazioni, consulta Azione, risorse e chiavi di condizione per Amazon Bedrock):
-
bedrock: CountTokens — Consente l'utilizzo di.
CountTokens
-
bedrock: InvokeModel — Consente l'utilizzo di
InvokeModel
e.Converse
Dovrebbe essere limitato aarn:${Partition}:bedrock:${Region}::foundation-model/anthropic.claude-3-haiku-20240307-v1:0
, come minimo.
-
Per provare a contare i token per una InvokeModelrichiesta, esegui il seguente codice Python:
import boto3 import json bedrock_runtime = boto3.client("bedrock-runtime") input_to_count = json.dumps({ "anthropic_version": "bedrock-2023-05-31", "max_tokens": 500, "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }) response = bedrock_runtime.count_tokens( modelId="anthropic.claude-3-5-haiku-20241022-v1:0", input={ "invokeModel": { "body": input_to_count } } ) print(response["inputTokens"])
Per provare a contare i token per una richiesta Converse, esegui il seguente codice Python:
import boto3 import json bedrock_runtime = boto3.client("bedrock-runtime") input_to_count = { "messages": [ { "role": "user", "content": [ { "text": "What is the capital of France?" } ] }, { "role": "assistant", "content": [ { "text": "The capital of France is Paris." } ] }, { "role": "user", "content": [ { "text": "What is its population?" } ] } ], "system": [ { "text": "You're an expert in geography." } ] } response = bedrock_runtime.count_tokens( modelId="anthropic.claude-3-5-haiku-20241022-v1:0", input={ "converse": input_to_count } ) print(response["inputTokens"])