

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Surveillance de l’utilisation de vos jetons en comptant les jetons avant l’exécution de l’inférence
<a name="count-tokens"></a>

Lorsque vous exécutez une inférence de modèle, le nombre de jetons que vous envoyez dans l’entrée contribue au coût de la demande et au quota de jetons que vous pouvez utiliser par minute et par jour. L'[CountTokens](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_CountTokens.html)API vous aide à estimer l'utilisation des jetons avant d'envoyer des demandes aux modèles de base en renvoyant le nombre de jetons qui serait utilisé si la même entrée était envoyée au modèle dans une demande d'inférence.

**Note**  
L'utilisation de [CountTokens](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_CountTokens.html)l'API n'entraîne aucun frais.

Le comptage des jetons est spécifique au modèle, car les différents modèles utilisent des stratégies de création de jetons différentes. Le nombre de jetons renvoyé par cette opération correspondra au nombre de jetons qui serait facturé si la même entrée était envoyée au modèle pour exécuter l’inférence.

Vous pouvez utiliser l’API `CountTokens` pour effectuer les opérations suivantes :
+ estimer les coûts avant d’envoyer des demandes d’inférence ;
+ optimiser les invites pour les adapter aux limites des jetons ;
+ planifier l’utilisation des jetons dans vos applications.

**Topics**
+ [Modèles et régions pris en charge pour le comptage des jetons](#count-tokens-supported)
+ [Comptage des jetons dans une demande](#count-tokens-use)
+ [Essayer un exemple](#count-tokens-example)

## Modèles et régions pris en charge pour le comptage des jetons
<a name="count-tokens-supported"></a>

Le tableau suivant montre le modèle de base qui prend en charge le comptage des jetons :


| Fournisseur | Modèle | ID du modèle | Support du modèle à région unique | 
| --- | --- | --- | --- | 
| Anthropic | Claude 3.5 Haiku | anthropic.claude-3-5-haiku-20241022-v1:0 |  us-west-2  | 
| Anthropic | Sonnet de Claude 3.5 | 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-v1: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 |  | 

## Comptage des jetons dans une demande
<a name="count-tokens-use"></a>

Pour compter le nombre de jetons d'entrée dans une demande d'inférence, envoyez une [CountTokens](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_CountTokens.html)demande avec un point de [terminaison Amazon Bedrock](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#br-rt), spécifiez le modèle dans l'en-tête et l'entrée pour laquelle compter les jetons dans le `body` champ. La valeur du `body` champ varie selon que vous comptez les jetons d'entrée pour une demande [InvokeModel](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InvokeModel.html)ou pour une requête [Converse](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_Converse.html) :
+ Pour une demande `InvokeModel`, le format de `body` est une chaîne représentant un objet JSON dont le format dépend du modèle que vous spécifiez.
+ Pour une demande `Converse`, le format de `body` est un objet JSON spécifiant les invites `messages` et `system` incluses dans la conversation.

## Essayer un exemple
<a name="count-tokens-example"></a>

Les exemples de cette section vous permettent de compter les jetons pour une demande `InvokeModel` et `Converse` avec Anthropic Claude 3 Haiku.

**Conditions préalables**
+ Vous avez téléchargé AWS SDK pour Python (Boto3) et votre configuration est configurée de telle sorte que vos informations d'identification et votre AWS région par défaut soient automatiquement reconnues.
+ Votre identité IAM est autorisée à effectuer les actions suivantes (pour plus d’informations, consultez [Actions, ressources et clés de condition pour Amazon Bedrock](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonbedrock.html)) :
  + bedrock : CountTokens — Permet l'utilisation de. `CountTokens`
  + bedrock : InvokeModel — Permet l'utilisation de `InvokeModel` et`Converse`. Doit être limité au *arn:\$1\$1Partition\$1:bedrock:\$1\$1Region\$1::foundation-model/anthropic.claude-3-haiku-20240307-v1:0* minimum à.

Pour essayer de compter les jetons pour une [InvokeModel](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InvokeModel.html)requête, exécutez le code Python suivant :

```
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"])
```

Pour essayer de compter les jetons pour une demande [Converse](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_Converse.html), exécutez le code Python suivant :

```
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"])
```