Supervise el uso de sus fichas contando las fichas antes de realizar la inferencia - Amazon Bedrock

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.

Supervise el uso de sus fichas contando las fichas antes de realizar la inferencia

Al realizar una inferencia de modelos, la cantidad de fichas que se envían en la entrada contribuye al coste de la solicitud y a la cuota de fichas que se pueden utilizar por minuto y por día. La CountTokensAPI le ayuda a estimar el uso de los tokens antes de enviar solicitudes a los modelos básicos, ya que devuelve 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 conteo de fichas es específico de cada modelo porque los diferentes modelos utilizan diferentes estrategias de tokenización. El recuento de fichas devuelto por esta operación coincidirá con el recuento de fichas que se cobraría si se enviara la misma entrada al modelo para realizar la inferencia.

Puedes usar la CountTokens API para hacer lo siguiente:

  • Calcule los costos antes de enviar las solicitudes de inferencia.

  • Optimice las solicitudes para que se ajusten a los límites simbólicos.

  • Planifique el uso de los tokens en sus aplicaciones.

Modelos y regiones compatibles para el recuento de fichas

La API Count Tokens es compatible con las siguientes regiones (para obtener más información sobre las regiones compatibles con Amazon Bedrock, consulte los puntos de enlace y las cuotas de Amazon Bedrock):

  • Este de EE. UU. (Norte de Virginia)

  • Este de EE. UU. (Ohio)

  • Oeste de EE. UU. (Oregón)

  • Asia-Pacífico (Tokio)

  • Asia-Pacífico (Mumbai)

  • Asia-Pacífico (Singapur)

  • Asia-Pacífico (Sídney)

  • Europa (Fráncfort)

  • Europa (Zúrich)

  • Europa (Irlanda)

  • Europa (Londres)

  • América del Sur (São Paulo)

La API Count Tokens es compatible con los siguientes modelos básicos (para ver qué regiones son compatibles con cada modelo, consulte): Modelos fundacionales compatibles en 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

Cuente los tokens de 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 InvokeModel solicitud, el formato de body es una cadena que representa un objeto JSON cuyo formato depende del modelo que especifiques.

  • En el caso de una Converse solicitud, el formato de body es un objeto JSON que especifica las system solicitudes messages y las instrucciones incluidas en la conversación.

Prueba con un ejemplo

Los ejemplos de esta sección te permiten contar los símbolos de una Converse solicitud InvokeModel y con AnthropicClaude 3 Haiku.

Requisitos previos
  • Los has descargado AWS SDK para Python (Boto3) y la configuración está configurada de forma que tus credenciales y AWS la región predeterminada se reconozcan automáticamente.

  • Su identidad de IAM tiene permisos para las siguientes acciones (para obtener más información, consulte Claves de acción, recursos y condición de Amazon Bedrock):

    • bedrock: CountTokens — Permite el uso de. CountTokens

    • roca madre: InvokeModel — Permite el uso de InvokeModel y. Converse Debe 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 a contar los tokens de una solicitud de Converse, ejecuta 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"])