スキップしてコンテンツを表示

Amazon Bedrock でモデルを呼び出す際にトークン数を確認する方法を教えてください。

所要時間2分
0

Amazon Bedrock でモデルを呼び出す際に、入力トークンと出力トークンの数を確認したいと考えています。

解決策

注: AWS コマンドラインインターフェイス (AWS CLI) コマンドの実行中にエラーが発生した場合は、「AWS CLI のエラーのトラブルシューティング」を参照してください。また、AWS CLI の最新バージョンを使用していることを確認してください。

次のいずれかの方法でトークン数を確認します。

Amazon Bedrock プレイグラウンドを使用する

モデルを呼び出す時にプレイグラウンドを使用して入力トークンと出力トークンを確認する方法については、「Generate responses in the console using playgrounds」(プレイグラウンドを使用してコンソールでレスポンスを生成する) を参照してください。

モデル呼び出しログを確認する

前提条件: ログの送信先を作成する必要があります。Amazon Simple Storage Service (Amazon S3) を使用して S3 バケットを設定するか、Amazon CloudWatch Logs を使用してロググループを設定します。S3 バケットを使用する場合は、「Set up an Amazon S3 destination」(Amazon S3 の送信先を設定する) の手順 2 でのポリシーステートメントを含むバケットポリシーをバケットに追加します。ロググループを使用する場合は、「Set up a CloudWatch Logs destination」(CloudWatch Logs の送信先を設定する) の手順 2 での信頼関係とポリシーステートメントを含む AWS Identity and Access Management (IAM) ロールを作成します。

ログを確認するには、次の手順を実行します。

  1. CloudWatch コンソールまたは API を使用して、すべてのモデル呼び出しでログ記録を有効にします。
  2. ログには、各モデル呼び出しに関する inputTokens および outputTokens の数値が表示されます。

ログの例:

{
    "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
    }
}

Converse オペレーションからのレスポンスを確認する

AWS CLI を使用して Converse API オペレーションからの応答を取得します。

converse コマンドで次の bedrock-runtime コマンドを実行します。

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

注: 上記のコマンドは、amazon.nova-pro-v1:0 モデルのトークン数を取得します。your-region を AWS リージョンに、model-id をモデル ID に、text を独自のメッセージに置き換えます。

レスポンスの例:

{
    "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
    }
}
コメントはありません

関連するコンテンツ