ClaudeにアクセスするためのVertex APIは、Messages APIとほぼ同じで、すべての同じオプションをサポートしていますが、2つの重要な違いがあります:
  • Vertexでは、modelはリクエストボディで渡されません。代わりに、Google CloudエンドポイントURLで指定されます。
  • Vertexでは、anthropic_versionはリクエストボディで渡され(ヘッダーではなく)、値vertex-2023-10-16に設定する必要があります。
Vertexはまた、Anthropicの公式クライアントSDKによってもサポートされています。このガイドでは、PythonまたはTypeScriptのいずれかでVertex AI上のClaudeにリクエストを行うプロセスについて説明します。 このガイドでは、Vertex AIを使用できるGCPプロジェクトがすでにあることを前提としています。セットアップに必要な情報と完全なウォークスルーについては、Anthropicから Claude 3モデルを使用するを参照してください。

Vertex AIにアクセスするためのSDKをインストールする

まず、選択した言語用のAnthropicのクライアントSDKをインストールします。
pip install -U google-cloud-aiplatform "anthropic[vertex]"

Vertex AIへのアクセス

モデルの可用性

Anthropicモデルの可用性は地域によって異なることに注意してください。Vertex AI Model Gardenで「Claude」を検索するか、最新情報についてはClaude 3を使用するにアクセスしてください。

APIモデルID

モデルVertex AI APIモデルID
Claude Sonnet 4.5claude-sonnet-4-5@20250929Copied!
Claude Sonnet 4claude-sonnet-4@20250514Copied!
Claude Sonnet 3.7claude-3-7-sonnet@20250219Copied!
Claude Sonnet 3.5 claude-3-5-sonnet-v2@20241022Copied!
Claude Opus 4.1claude-opus-4-1@20250805Copied!
Claude Opus 4claude-opus-4@20250514Copied!
Claude Opus 3 claude-3-opus@20240229Copied!
Claude Haiku 4.5claude-haiku-4-5@20251001Copied!
Claude Haiku 3.5claude-3-5-haiku@20241022Copied!
Claude Haiku 3claude-3-haiku@20240307Copied!

リクエストの作成

リクエストを実行する前に、gcloud auth application-default loginを実行してGCPで認証する必要がある場合があります。 以下の例は、Vertex AI上のClaudeからテキストを生成する方法を示しています:
from anthropic import AnthropicVertex

project_id = "MY_PROJECT_ID"
region = "global"

client = AnthropicVertex(project_id=project_id, region=region)

message = client.messages.create(
    model="claude-sonnet-4-5@20250929",
    max_tokens=100,
    messages=[
        {
            "role": "user",
            "content": "Hey Claude!",
        }
    ],
)
print(message)
詳細については、クライアントSDKと公式のVertex AI ドキュメントを参照してください。

アクティビティログ

Vertexは、リクエスト-レスポンスログサービスを提供しており、顧客がプロンプトと使用に関連する完了をログに記録できます。 Anthropicは、アクティビティを理解し、潜在的な悪用を調査するために、少なくとも30日間のローリングベースでアクティビティをログに記録することをお勧めします。
このサービスをオンにしても、GoogleやAnthropicはあなたのコンテンツにアクセスできません。

機能サポート

Vertexで現在サポートされているすべての機能はここで見つけることができます。

グローバルエンドポイント対地域別エンドポイント

Claude Sonnet 4.5およびすべての将来のモデルから始まり、Google Vertex AIは2つのエンドポイントタイプを提供します:
  • グローバルエンドポイント:最大可用性のための動的ルーティング
  • 地域別エンドポイント:特定の地理的地域を通じた保証されたデータルーティング
地域別エンドポイントには、グローバルエンドポイントより10%の価格プレミアムが含まれます。
これはClaude Sonnet 4.5および将来のモデルにのみ適用されます。古いモデル(Claude Sonnet 4、Opus 4、およびそれ以前)は既存の価格構造を維持しています。

各オプションを使用する場合

グローバルエンドポイント(推奨):
  • 最大可用性とアップタイムを提供
  • 利用可能な容量を持つ地域にリクエストを動的にルーティング
  • 価格プレミアムなし
  • データレジデンシーが柔軟なアプリケーションに最適
  • 従量課金トラフィックのみをサポート(プロビジョニングされたスループットは地域別エンドポイントが必要)
地域別エンドポイント:
  • 特定の地理的地域を通じてトラフィックをルーティング
  • データレジデンシーとコンプライアンス要件に必須
  • 従量課金とプロビジョニングされたスループットの両方をサポート
  • 10%の価格プレミアムは、専用地域容量のインフラストラクチャコストを反映

実装

グローバルエンドポイントを使用する(推奨): クライアントを初期化するときに、regionパラメータを"global"に設定します:
from anthropic import AnthropicVertex

project_id = "MY_PROJECT_ID"
region = "global"

client = AnthropicVertex(project_id=project_id, region=region)

message = client.messages.create(
    model="claude-sonnet-4-5@20250929",
    max_tokens=100,
    messages=[
        {
            "role": "user",
            "content": "Hey Claude!",
        }
    ],
)
print(message)
地域別エンドポイントを使用する: "us-east1""europe-west1"などの特定の地域を指定します:
from anthropic import AnthropicVertex

project_id = "MY_PROJECT_ID"
region = "us-east1"  # Specify a specific region

client = AnthropicVertex(project_id=project_id, region=region)

message = client.messages.create(
    model="claude-sonnet-4-5@20250929",
    max_tokens=100,
    messages=[
        {
            "role": "user",
            "content": "Hey Claude!",
        }
    ],
)
print(message)

追加リソース