As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Monitore o uso do token contando os tokens antes de executar a inferência
Quando você executa a inferência do modelo, o número de tokens que você envia na entrada contribui para o custo da solicitação e para a cota de tokens que você pode usar por minuto e por dia. A CountTokensAPI ajuda você a estimar o uso de tokens antes de enviar solicitações aos modelos básicos, retornando a contagem de tokens que seria usada se a mesma entrada fosse enviada ao modelo em uma solicitação de inferência.
nota
O uso da CountTokensAPI não gera cobranças.
A contagem de tokens é específica do modelo porque modelos diferentes usam estratégias de tokenização diferentes. A contagem de tokens retornada por essa operação corresponderá à contagem de tokens que seria cobrada se a mesma entrada fosse enviada ao modelo para executar a inferência.
Você pode usar a CountTokens
API para fazer o seguinte:
-
Estime os custos antes de enviar solicitações de inferência.
-
Otimize os prompts para que se ajustem aos limites dos tokens.
-
Planeje o uso de tokens em seus aplicativos.
Tópicos
Modelos e regiões compatíveis para contagem de tokens
A API Count Tokens é suportada nas seguintes regiões (para obter mais informações sobre as regiões suportadas no Amazon Bedrock, consulte endpoints e cotas do Amazon Bedrock):
-
Leste dos EUA (Norte da Virgínia)
-
Leste dos EUA (Ohio)
-
Oeste dos EUA (Oregon)
-
Ásia-Pacífico (Tóquio)
-
Ásia-Pacífico (Mumbai)
-
Ásia-Pacífico (Singapura)
-
Ásia-Pacífico (Sydney)
-
Europa (Frankfurt)
-
Europa (Zurique)
-
Europa (Irlanda)
-
Europa (Londres)
-
América do Sul (São Paulo)
A API Count Tokens é compatível com os seguintes modelos básicos (para ver quais regiões oferecem suporte a cada modelo, consulteModelos de base compatíveis no 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
Contar tokens em uma solicitação
Para contar o número de tokens de entrada em uma solicitação de inferência, envie uma CountTokenssolicitação com um endpoint de tempo de execução do Amazon Bedrock, especifique o modelo no cabeçalho e a entrada para contar os tokens no campo. body
O valor do body
campo depende se você está contando os tokens de entrada para uma solicitação InvokeModelou para a Converse:
-
Para uma
InvokeModel
solicitação, o formato dobody
é uma string representando um objeto JSON cujo formato depende do modelo que você especificar. -
Para uma
Converse
solicitação, o formato dobody
é um objeto JSON que especifica osmessages
system
prompts incluídos na conversa.
Experimente um exemplo
Os exemplos nesta seção permitem que você conte tokens para uma Converse
solicitação InvokeModel
e com AnthropicClaude 3 Haiku.
Pré-requisitos
-
Você fez o download AWS SDK para Python (Boto3) e sua configuração está configurada para que suas credenciais e sua AWS região padrão sejam reconhecidas automaticamente.
-
Sua identidade do IAM tem permissões para as seguintes ações (para obter mais informações, consulte Ação, recursos e chaves de condição para o Amazon Bedrock):
-
bedrock: CountTokens — Permite o uso de.
CountTokens
-
bedrock: InvokeModel — Permite o uso de
InvokeModel
e.Converse
Deve ter como escopoarn:${Partition}:bedrock:${Region}::foundation-model/anthropic.claude-3-haiku-20240307-v1:0
, no mínimo.
-
Para experimentar a contagem de tokens para uma InvokeModelsolicitação, execute o seguinte código em 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"])
Para experimentar a contagem de tokens para uma solicitação Converse, execute o seguinte código 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"])