LoginSignup
1
2

Amazon Bedrockのトークン数の確認方法

Posted at

Amazon Bedrockの料金は以下に記載されています。

Claude2を見てみると、入力トークン1000、出力トークン1000と言われても…、という事でトークン数を確認します。
以前のこちらと同じ手順になります。

ログ出力の設定

Bedrockのログに入力トークンのカウントと出力トークンのカウントが出力されるので、CloudWatch Logsにログを書き出す設定をします。

まずロググループを作成します。保持期間は適当です。
長い期間のログを保持して分析等したい場合はS3に書き出す事も出来ます。

マネジメントコンソールのBedrockの左下のSettingsからこんな感じで設定します。

これでCloudWatch Logsに出力されるようになります。
playgroundからの入力もAPIからの入力も出力されます。

2023/10/14現在 Model invocation loggingはpreview中であり、今後仕様が変わる可能性があります。

ログを確認する

playgroundから実行し、Claude2でログの出力内容を見てみます。
inputTokenCountoutputTokenCountが出力されています。

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

との事。

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2