Vertex AI経由でClaudeモデルを使ってみた

記事タイトルとURLをコピーする

G-gen のバロキです。この記事では Vertex AI を使って、Anthropic 社の Claude モデル を呼び出す方法と、セットアップから最初の推論(inference)までのステップについて解説します。

はじめに

Claude とは

Claude は、Anthropic 社によって開発された大規模言語モデル(LLM)のファミリーです。Constitutional AI という設計原則に基づき、「有用で・無害で・正直である」ことを目指して作られました。

Claude 3 系列の中でも最新の Claude 3.7 Sonnet は、ハイブリッド・リースニング(Hybrid Reasoning)を備えており、即時的な応答と段階的な深い思考のバランスを取ることが可能です。

Claude は以下のようなタスクに活用できます。

  • テキストの要約
  • コード生成やデバッグ
  • マルチモーダルな画像処理
  • チャットボットやリアルタイム会話
  • 深い分析や推論の自動化

Vertex AI 上で Claude を使うメリット

Google Cloud の Vertex AI は、Claude モデルをネイティブに提供しています。Claude を Vertex AI から呼び出すことには、以下のようなメリットがあります。

  • サーバーレスであること。インフラの管理が不要です。
  • API 経由の簡単な呼び出しが可能であること。API へリクエストを送るだけで利用できます。
  • ストリーミング対応していること。応答をリアルタイムに表示できます。
  • 従量課金またはスループット指定が可能であること。用途に応じた柔軟な価格設定が可能です。

このように、Vertex AI を使うと、研究者や開発者が簡単に Claude を使い始められます。

利用可能な Claude モデル一覧

以下は、2025年5月現在、Vertex AI から呼び出し可能な Claude モデルの一覧です。

モデル名                 モデル ID                          特徴                    
Claude 3.7 Sonnet    claude-3-7-sonnet@20250219    高度な推論、エージェント的タスクに最適です。    
Claude 3.5 Sonnet v2 claude-3-5-sonnet-v2@20241022 複雑なドキュメント理解やコーディングに適しています。    
Claude 3.5 Haiku     claude-3-5-haiku@20241022     最速の応答性能を持ち、チャット用途に向いています。      
Claude 3 Opus        claude-3-opus@20240229        高度な研究用途や複雑なタスクに適しています。        
Claude 3 Haiku       claude-3-haiku@20240307       画像を含むマルチモーダル処理に対応しています。        
Claude 3.5 Sonnet    claude-3-5-sonnet@20240620    高性能なコーディング支援とカスタマーサポートに役立ちます。

事前準備

Claude を Vertex AI から使うためには、以下の準備が必要です。

  • 課金が有効な Google Cloud プロジェクト
  • aiplatform.googleapis.com API の有効化
  • パートナーモデル(Claude)の使用権限
  • Python、Jupyter Notebook の基本的な知識
  • 以下のコマンドで SDK をインストール
pip install --upgrade anthropic google-cloud-aiplatform

Notebook インスタンスの作成

  1. Vertex AI Workbench にアクセスし、「インスタンスを作成」をクリックします。
  2. 「Python 3(最新) + JupyterLab」を選択します。
  3. インスタンスタイプ(例 : e2-standard-4)を選びます。
  4. Notebook 上で以下のコードを実行します。
from anthropic import AnthropicVertex
  
client = AnthropicVertex(project_id="your-project-id", region="us-east5")
  
message = client.messages.create(
    model="claude-3-7-sonnet@20250219",
    max_tokens=1024,
    messages=[
        {"role": "user", "content": "Explain the concept of extended thinking."}
    ],
)
  
print(message.model_dump_json(indent=2))

Claude のストリーミング応答を利用する

ストリーミング応答を利用することで、より自然で即時的な体験が可能です。

with client.messages.stream(
    model="claude-3-7-sonnet@20250219",
    max_tokens=1024,
    messages=[
        {"role": "user", "content": "Tell me a story about a dragon and a forest."}
    ],
) as stream:
    for text in stream.text_stream:
        print(text, end="", flush=True)

curl での呼び出し例

gcloud コマンドで取得したアクセストークンを使い、curl で直接呼び出すことも可能です。

curl -X POST \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    https://us-east5-aiplatform.googleapis.com/v1/projects/YOUR_PROJECT_ID/locations/us-east5/publishers/anthropic/models/claude-3-7-sonnet@20250219:streamGenerateContent \
    -d '{
        "instances": [{"messages": [{"role": "user", "content": "Vertex AI を使って何ができますか?"}]}],
        "parameters": {"maxTokens": 512, "stream": true}
    }'

次のステップ

Claude は Vertex AI を通じて、インフラ管理の必要がなく、安全かつスケーラブルに利用できます。

さらなる詳細は、以下のドキュメントを参考にしてください。

ハサナル・バロキ (記事一覧)

クラウドソリューション部 クラウドサポート課。インドネシア北スマトラ州ビンジャイ市出身。

YKK株式会社での金型設計を経て IT 業界へ転身。AI/システムエンジニアとしての経験を積み、現在は G-gen にてクラウドサポートに従事。

趣味は水泳と RAG チャットボット開発(OpenAI・Gemini・Vector Search 等)。好きな食べ物はラーメンと寿司。