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) ロールを作成します。
ログを確認するには、次の手順を実行します。
- CloudWatch コンソールまたは API を使用して、すべてのモデル呼び出しでログ記録を有効にします。
- ログには、各モデル呼び出しに関する 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
}
}