Passer au contenu

Comment puis-je vérifier le nombre de jetons lorsque j'invoque un modèle dans Amazon Bedrock ?

Lecture de 3 minute(s)
0

Je souhaite vérifier le nombre de jetons d'entrée et de sortie lorsque j'invoque un modèle dans Amazon Bedrock.

Résolution

Remarque : si des erreurs surviennent lorsque vous exécutez des commandes de l'interface de la ligne de commande AWS (AWS CLI), consultez la section Résoudre des erreurs liées à l’AWS CLI. Vérifiez également que vous utilisez bien la version la plus récente de l’AWS CLI.

Pour vérifier le nombre de jetons, utilisez l'une des méthodes suivantes.

Utiliser un terrain de jeu Amazon Bedrock

Pour utiliser un terrain de jeu afin de vérifier les jetons d'entrée et de sortie lorsque vous invoquez le modèle, consultez la section Générer des réponses dans la console à l'aide de terrains de jeu.

Vérifier les journaux d'invocation du modèle

Prérequis : vous devez créer une destination vers laquelle envoyer vos journaux. Vous pouvez utiliser Amazon Simple Storage Service (Amazon S3) pour configurer un compartiment S3 ou utiliser Amazon CloudWatch Logs pour configurer un groupe de journaux. Si vous utilisez un compartiment S3, ajoutez une stratégie de compartiment au compartiment qui inclut la déclaration de politique de l'étape 2 de la section Configurer une destination Amazon S3. Si vous utilisez un groupe de journaux, créez un rôle Gestion des identités et des accès AWS (AWS IAM) qui inclut la relation d’approbation et la déclaration de politique de l'étape 2 de la section Configurer une destination CloudWatch Logs.

Pour vérifier les journaux, procédez comme suit :

  1. Utilisez la console CloudWatch ou l’API pour activer la journalisation de toutes les invocations de modèles.
  2. Dans les journaux, visualisez le nombre de InputTokens et OutputTokens pour chaque invocation de modèle.

Exemple de journal :

{
    "schemaType": "ModelInvocationLog",
    "schemaVersion": "1.0",
    "timestamp": "2025-03-31T21:34:03Z",
    "accountId": "123456789",
    "identity": {
        "arn": "arn:aws:sts::123456789:role/MyRole"
    },
    "region": "us-east-1",
    "requestId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx",
    "operation": "ConverseStream",
    "modelId": "amazon.nova-pro-v1:0",
    "input": {
        "inputContentType": "application/json",
        "inputBodyJson": {
            "messages": [
                {
                    "role": "user",
                    "content": [
                        {
                            "text": "Good morning."
                        }
                    ]
                }
            ],
            "inferenceConfig": {
                "maxTokens": 512,
                "temperature": 0.7,
                "topP": 0.9,
                "stopSequences": []
            },
            "additionalModelRequestFields": {}
        },
        "inputTokenCount": 3,
        "cacheReadInputTokenCount": 0,
        "cacheWriteInputTokenCount": 0
    },
    "output": {
        "outputContentType": "application/json",
        "outputBodyJson": {
            "output": {
                "message": {
                    "role": "assistant",
                    "content": [
                        {
                            "text": "Good morning! How can I assist you today? Whether you have questions, need information, or just want to chat, feel free to ask."
                        }
                    ]
                }
            },
            "stopReason": "end_turn",
            "metrics": {
                "latencyMs": 454
            },
            "usage": {
                "inputTokens": 3,
                "outputTokens": 29,
                "totalTokens": 32
            }
        },
        "outputTokenCount": 29
    }
}

Vérifier la réponse de l'opération Converse

Utilisez l'interface de ligne de commande AWS pour obtenir une réponse à partir de l'opération de l'API Converse.

Exécutez la commande bedrock-runtime suivante avec la commande converse :

aws bedrock-runtime converse \
    --region your-region\
    --model-id amazon.nova-pro-v1:0 \
    --messages '{"role": "user", "content": [{"text": "Hello"}]}'

Remarque : la commande précédente permet d'obtenir le nombre de jetons pour le modèle amazon.nova-pro-v1:0. Remplacez your-region par votre région AWS, model-id par l’identifiant du modèle et text par votre propre message.

Exemple de réponse :

{
    "output": {
        "message": {
            "role": "assistant",
            "content": [
                {
                    "text": "Hello! It's nice to have you here. I'm here to help with whatever you might need. Whether you have a question, need assistance with a topic, or just want to chat, feel free to ask. What can I assist you with today?"
                }
            ]
        }
    },
    "stopReason": "end_turn",
    "usage": {
        "inputTokens": 1,
        "outputTokens": 54,
        "totalTokens": 55
    },
    "metrics": {
        "latencyMs": 852
    }
}