Amazon Bedrockの料金は以下に記載されています。
Claude2を見てみると、入力トークン1000、出力トークン1000と言われても…、という事でトークン数を確認します。
以前のこちらと同じ手順になります。
ログ出力の設定
Bedrockのログに入力トークンのカウントと出力トークンのカウントが出力されるので、CloudWatch Logsにログを書き出す設定をします。
まずロググループを作成します。保持期間は適当です。
長い期間のログを保持して分析等したい場合はS3に書き出す事も出来ます。
マネジメントコンソールのBedrockの左下のSettingsからこんな感じで設定します。
これでCloudWatch Logsに出力されるようになります。
playgroundからの入力もAPIからの入力も出力されます。
2023/10/14現在 Model invocation loggingはpreview中であり、今後仕様が変わる可能性があります。
ログを確認する
playgroundから実行し、Claude2でログの出力内容を見てみます。
inputTokenCount
とoutputTokenCount
が出力されています。
{
"schemaType": "ModelInvocationLog",
"schemaVersion": "1.0",
"timestamp": "2023-10-14T00:08:32Z",
"accountId": "999999999999",
"region": "us-east-1",
"requestId": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"operation": "InvokeModelWithResponseStream",
"modelId": "anthropic.claude-v2",
"input": {
"inputContentType": "application/json",
"inputBodyJson": {
"prompt": "\n\nHuman: Hello\n\nAssistant:",
"max_tokens_to_sample": 300,
"temperature": 1,
"top_k": 250,
"top_p": 0.999,
"stop_sequences": [
"\n\nHuman:"
],
"anthropic_version": "bedrock-2023-05-31"
},
"inputTokenCount": 10
},
"output": {
"outputContentType": "application/json",
"outputBodyJson": [
{
"completion": " Hello"
},
{
"completion": "!",
"stop_reason": "stop_sequence"
}
],
"outputTokenCount": 6
}
}
入力トークン数の例
Hello
の場合 → 10
"prompt": "\n\nHuman: Hello\n\nAssistant:",
"inputTokenCount": 10
Hello World
の場合 → 11
"prompt": "\n\nHuman: Hello World\n\nAssistant:",
"inputTokenCount": 11
Hello!!
の場合 → 11
"prompt": "\n\nHuman: Hello!!\n\nAssistant:",
"inputTokenCount": 11
Hello\n(改行)
の場合 → 10
"prompt": "\n\nHuman: Hello\n\n\nAssistant:",
"inputTokenCount": 10
Hello\n(改行)World
の場合 → 12
"prompt": "\n\nHuman: Hello\nWorld\n\nAssistant:",
"inputTokenCount": 12
nice to meet you
の場合 → 13
"prompt": "\n\nHuman: nice to meet you\n\nAssistant:",
"inputTokenCount": 13
こんにちは
の場合 → 15
"prompt": "\n\nHuman: こんにちは\n\nAssistant:",
"inputTokenCount": 15
今日は
の場合 → 13
"prompt": "\n\nHuman: 今日は\n\nAssistant:",
"inputTokenCount": 13
初めまして
の場合 → 14
"prompt": "\n\nHuman: 初めまして\n\nAssistant:",
"inputTokenCount": 14
初めまして。私は山田です。
の場合 → 23
"prompt": "\n\nHuman: 初めまして。私は山田です。\n\nAssistant:",
"inputTokenCount": 23
東京特許許可局
の場合 → 20
"prompt": "\n\nHuman: 東京特許許可局\n\nAssistant:",
"inputTokenCount": 20
との事。
出力トークン数の例
Hello!
の場合 → 6
"output": {
"outputContentType": "application/json",
"outputBodyJson": [
{
"completion": " Hello"
},
{
"completion": "!",
"stop_reason": "stop_sequence"
}
],
"outputTokenCount": 6
との事。