Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Supervisión del uso de tokens contando los tokens antes de ejecutar la inferencia
Al realizar una inferencia de modelos, la cantidad de tokens que se envían en la entrada contribuye al costo de la solicitud y a la cuota de tokens que se pueden utilizar por minuto y día. La CountTokensAPI le ayuda a estimar el uso de los tokens antes de enviar solicitudes a los modelos básicos al devolver el recuento de tokens que se utilizaría si se enviara la misma entrada al modelo en una solicitud de inferencia.
nota
El uso de la CountTokensAPI no conlleva cargos.
El recuento de tokens es específico de cada modelo porque los diferentes modelos utilizan diferentes estrategias de tokenización. El recuento de tokens devuelto por esta operación coincidirá con el número de tokens que se cobraría si se enviara la misma entrada al modelo para realizar la inferencia.
Puede utilizar la API CountTokens para hacer lo siguiente:
-
Calcular los costos antes de enviar las solicitudes de inferencia
-
Optimizar las peticiones para que se ajusten a los límites de tokens
-
Planificar el uso de los tokens en sus aplicaciones
Temas
Modelos y regiones compatibles para el recuento de tokens
En la siguiente tabla se muestra el soporte del modelo básico para el conteo de fichas:
| Proveedor | Modelo | ID del modelo | Compatibilidad con modelos de una sola región |
|---|---|---|---|
| Anthropic | Claude 3.5 Haiku | anthropic.claude-3-5-haiku-20241022-v1:0 |
us-west-2 |
| Anthropic | Claude 3.5 Sonnet | anthropic.claude-3-5-sonnet-20240620-v1:0 |
ap-northeast-1 ap-southeast-1 eu-central-1 eu-central-2 us-east-1 us-west-2 |
| Anthropic | Claude 3.5 Sonnet v2 | anthropic.claude-3-5-sonnet-20241022-v2:0 |
ap-southeast-2 us-west-2 |
| Anthropic | Claude 3.7 Sonnet | anthropic.claude-3-7-sonnet-20250219-v 1:0 |
eu-west-2 |
| Anthropic | Claude Opus 4 | anthropic.claude-opus-4-20250514-v1:0 | |
| Anthropic | Claude Sonnet 4 | anthropic.claude-sonnet-4-20250514-v1:0 |
Recuento de tokens en una solicitud
Para contar el número de tokens de entrada en una solicitud de inferencia, envíe una CountTokenssolicitud con un punto de ejecución de Amazon Bedrock y especifique el modelo en el encabezado y la entrada para la que se van a contar los tokens en el body campo. El valor del body campo depende de si está contando los tokens de entrada para una solicitud InvokeModelo para una solicitud de Converse:
-
En el caso de una solicitud
InvokeModel, el formato debodyes una cadena que representa un objeto JSON cuyo formato depende del modelo que especifique. -
En el caso de una solicitud
Converse, el formato debodyes un objeto JSON que especifica las peticionesmessagesysystemincluidas en la conversación.
Ejemplo de prueba
Los ejemplos de esta sección le permiten contar los tokens de una solicitud InvokeModel y Converse con Anthropic Claude 3 Haiku.
Requisitos previos
-
La has descargado AWS SDK para Python (Boto3) y la configuración está configurada de forma que tus credenciales y la AWS región predeterminada se reconozcan automáticamente.
-
Su identidad de IAM tiene permisos para las siguientes acciones (para obtener más información, consulte Acciones, recursos y claves de condición de Amazon Bedrock):
-
bedrock: CountTokens — Permite el uso de
CountTokens. -
roca madre: InvokeModel — Permite el uso de
InvokeModely.ConverseDebe estar limitado aarn:${Partition}:bedrock:${Region}::foundation-model/anthropic.claude-3-haiku-20240307-v1:0, como mínimo.
-
Para probar a contar los tokens de una InvokeModelsolicitud, ejecuta el siguiente código de 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 probar el recuento de tokens para una solicitud Converse, ejecute el siguiente código de 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"])