🪨

Bedrock AWS SDK経由でClaude 3.7 Sonnetを呼び出す

2025/03/12に公開

要点

  • BedrockのAWS SDK経由でClaude 3.7 Sonnetを呼び出すときは、InvokeModelに推論プロファイルIDus.anthropic.claude-3-7-sonnet-20250219-v1:0を指定する必要がある
    • モデルIDであるanthropic.claude-3-7-sonnet-20250219-v1:0を指定しても実行できない
  • Bedrockが用意した推論プロファイルIDを使用して呼び出す場合、複数のリージョンのうちいずれかに処理の実行が振り分けられる

挙動の詳細

挙動を確認したのは、AWS SDK for JavaScript v3です。
次に示すClaude 3.5 Sonnetを呼び出すInvokeModelCommandを、Claude 3.7 Sonnetの呼び出しに変更します。

const command = new InvokeModelCommand({
  modelId: "anthropic.claude-3-5-sonnet-20241022-v2:0",
  body: JSON.stringify({
    anthropic_version: "bedrock-2023-05-31",
    max_tokens: 1000,
    messages: [
      {
        role: "user",
        content: [{ type: "text", text: "こんにちは。" }],
      },
    ],
  }),
  accept: "application/json",
  contentType: "application/json",
});

このときanthropic.claude-3-7-sonnet-20250219-v1:0を指定すると、モデルIDに対応していないというエラーが発生します。
Error executing script: ValidationException: Invocation of model ID anthropic.claude-3-7-sonnet-20250219-v1:0 with on-demand throughput isn't supported. Retry your request with the ID or ARN of an inference profile that contains this model.

代わりに、Claude 3.7 Sonnetの推論プロファイルIDであるus.anthropic.claude-3-7-sonnet-20250219-v1:0を指定すると実行に成功します。

  modelId: "us.anthropic.claude-3-7-sonnet-20250219-v1:0",

モデル一覧リージョンごとのモデルサポート状況一覧では、Claude 3.7 Sonnetに注記が付いており、クロスリージョン推論のみでアクセス可能とあります。

推論プロファイル

推論プロファイル(Inference profiles)とは、モデルとリージョンをあわせたリソース単位です。
Bedrockが提供する「クロスリージョン推論プロファイル」と、ユーザが作成する「アプリケーション推論プロファイル」に分類され、想定されるユースケースが異なります。(参考
Claude 3.7 Sonnetの推論プロファイルは、クロスリージョン推論プロファイルにあたります。

クロスリージョン推論

クロスリージョン推論とは、複数のAWSリージョンでトラフィックを分散させる方法です。追加のコストはかかりません。(参考
クロスリージョン推論プロファイルには、複数のリージョンを含む地理単位(usなど)が指定されています。
例えばus.anthropic.claude-3-7-sonnet-20250219-v1:0であれば、下記のうちいずれかのリージョンに振り分けられます。

  • 米国東部(バージニア州北部)
  • 米国東部(オハイオ)
  • 米国西部(オレゴン)

モデルごとの推論プロファイルIDは、こちらで確認することができます。

NCDCエンジニアブログ

Discussion