Claude のレスポンスをストリーミングして、エンドユーザーのレイテンシを軽減できます。ストリーミング レスポンスでは、サーバー送信イベント(SSE)を使用してレスポンスを段階的にストリーミングします。
Claude モデルは従量課金制です。詳細については、Vertex AI の料金ページの Anthropic Claude モデルに関するセクションをご覧ください。
利用可能な Anthropic Claude モデル
Anthropic Claude モデルにアクセスするには、Model Garden に移動して Claude を検索し、使用する Claude モデルを選択します。どの Claude 3 モデルも画像を処理し、テキスト出力を返します。また、200,000 のコンテキスト ウィンドウを備えています。次のリンクを使用して、Vertex AI で利用可能な Claude モデルのモデルカードに移動できます。
Claude 3 Sonnet
Anthropic Claude 3 Sonnet は、企業のワークロードに最適なインテリジェンスと速度のバランスを提供します。これは大規模 AI 向けの耐久性の高いモデルで、競争力のある価格で利用できます。Claude 3 Sonnet は、次のユースケース向けに最適化されています。
検索拡張生成(RAG)や検索取得などのデータ処理。
製品のレコメンデーション、予測、ターゲット マーケティングなどのセールスタスク。
コード生成、品質管理、画像の光学式文字認識(OCR)など、時間の節約に役立つタスク。
ビジョンタスク(画像からのテキスト出力など)。グラフ、図表、技術図、レポートなどの視覚的なコンテンツの分析。
Claude 3 Haiku
Anthropic Claude 3 Haiku は、Anthropic で利用可能な最も高速でコンパクトなモデルです。クエリやリクエストに迅速に対応できるように設計されています。これを使用して、人間の操作を模倣した AI エクスペリエンスを構築できます。Claude 3 Haiku は次のようなユースケース向けに最適化されています。
お客様とのライブ対応と翻訳。
不審な行為やお客様のリクエストを検出するためのコンテンツの管理
在庫管理や非構造化データからの知識抽出など、費用削減に役立つタスク。
ビジョンタスク(画像からのテキスト出力、チャート、グラフ、技術図、レポート、その他のビジュアル コンテンツの分析など)。
Claude モデルを使用する
Anthropic SDK または curl コマンドを使用すると、次のモデル名を使用して Vertex AI エンドポイントにリクエストを送信できます。
- Claude 3 Sonnet の場合は
claude-3-sonnet@20240229
を使用します。 - Claude 3 Haiku の場合は、
claude-3-haiku@20240307
を使用します。
@
記号(claude-3-sonnet
または claude-3-haiku
)で始まる接尾辞を含まない Anthropic Claude 3 モデル バージョンの使用はおすすめしません。
始める前に
Vertex AI で Anthropic Claude 3 モデルを使用するには、次の操作を行う必要があります。Vertex AI を使用するには、Vertex AI API(aiplatform.googleapis.com
)を有効にする必要があります。既存のプロジェクトで Vertex AI API が有効になっている場合は、新しいプロジェクトを作成する代わりに、そのプロジェクトを使用できます。
Anthropic Claude 3 モデルを有効にするために必要な権限があることを確認します。詳細については、必要な権限を付与するをご覧ください。
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Vertex AI API.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Vertex AI API.
- Anthropic Claude モデルを有効にしてメッセージを送信する権限があることを確認します。詳細については、Claude モデルを有効にしてプロンプトを送信するために必要な権限を設定するをご覧ください。
- 次のいずれかの Model Garden モデルカードに移動し、[有効にする] をクリックします。
Anthropic SDK を使用する
Anthropic Claude SDK を使用して、Anthropic Claude モデルに API リクエストを行うことができます。詳しくは、以下をご覧ください。
Anthropic Vertex SDK を使用して Claude 3 モデルにストリーミング呼び出しを行う
次のコードサンプルでは、Anthropic Vertex SDK を使用して Anthropic Claude 3 モデルへのストリーミング呼び出しを行います。
Python
Python をインストールまたは更新する方法については、Vertex AI SDK for Python をインストールするをご覧ください。詳細については、Python API リファレンス ドキュメントをご覧ください。
Anthropic Vertex SDK を使用して Claude 3 モデルに単一呼び出しを行う
次のコードサンプルでは、Anthropic Vertex SDK を使用して Anthropic Claude 3 モデルの単一呼び出しを行います。
Python
Python をインストールまたは更新する方法については、Vertex AI SDK for Python をインストールするをご覧ください。詳細については、Python API リファレンス ドキュメントをご覧ください。
curl コマンドを使用する
curl コマンドを使用して、Vertex AI エンドポイントにリクエストを送信できます。curl コマンドで、使用するサポート対象の Anthropic Claude モデルを指定します。
- Claude 3 Sonnet の場合は
claude-3-sonnet@20240229
を使用します。 - Claude 3 Haiku の場合は、
claude-3-haiku@20240307
を使用します。
@
記号(claude-3-sonnet
または claude-3-haiku
)で始まる接尾辞を含まない Anthropic Claude 3 モデル バージョンの使用はおすすめしません。
次のトピックでは、curl コマンドの作成方法と curl コマンドの例を示します。サンプルの curl コマンドでは、Claude 3 Sonnet モデルを使用します。
REST
Vertex AI API を使用してテキスト プロンプトをテストするには、パブリッシャー モデル エンドポイントに POST リクエストを送信します。
リクエストのデータを使用する前に、次のように置き換えます。
- LOCATION: Anthropic Claude モデルをサポートするリージョン。Claude 3 Sonnet は次のリージョンで利用できます。
us-central1 (Iowa)
asia-southeast1 (Singapore)
us-central1 (Iowa)
europe-west4 (Netherlands)
- MODEL: 使用するモデル名。Claude 3 Haiku の場合は
claude-3-haiku@20240307
を使用します。Claude 3 Sonnet の場合はclaude-3-sonnet@20240229
を使用します。 - ROLE: メッセージに関連付けられたロール。
user
またはassistant
を指定できます。最初のメッセージでは、user
ロールを使用する必要があります。Claude モデルはuser
とassistant
のターンを交互に操作します。最後のメッセージがassistant
ロールを使用する場合、そのメッセージのコンテンツの直後にレスポンス コンテンツが続きます。これを使用して、モデルのレスポンスの一部を制限できます。 - STREAM: レスポンスがストリーミングされるかどうかを指定するブール値。レスポンスのストリーミングを行うことで、エンドユーザーが認識するレイテンシを短縮できます。レスポンスをストリーミングする場合は
true
、すべてのレスポンスを一度に戻すにはfalse
に設定します。 - CONTENT:
user
またはassistant
のメッセージの内容(テキストなど)。 - MAX_OUTPUT_TOKENS: レスポンス内に生成できるトークンの最大数。トークンは約 3.5 文字です。100 トークンは約 60~80 語に相当します。
レスポンスを短くしたい場合は小さい値を、長くしたい場合は大きい値を指定します。
- TOP_P(省略可): Top-P は、モデルが出力用にトークンを選択する方法を変更します。トークンは、確率の合計が Top-P 値に等しくなるまで、確率の高いもの(Top-K を参照)から低いものへと選択されます。たとえば、トークン A、B、C の確率が 0.3、0.2、0.1 であり、トップ P 値が
0.5
であるとします。この場合、モデルは温度を使用して A または B を次のトークンとして選択し、C は候補から除外します。ランダムなレスポンスを減らしたい場合は小さい値を、ランダムなレスポンスを増やしたい場合は大きい値を指定します。
- TOP_K(省略可): Top-K は、モデルが出力用にトークンを選択する方法を変更します。Top-K が
1
の場合、次に選択されるトークンは、モデルの語彙内のすべてのトークンで最も確率の高いものであることになります(グリーディ デコードとも呼ばれます)。Top-K が3
の場合は、最も確率が高い上位 3 つのトークンから次のトークン選択されることになります(温度を使用します)。トークン選択のそれぞれのステップで、最も高い確率を持つトップ K のトークンがサンプリングされます。その後、トークンはトップ P に基づいてさらにフィルタリングされ、最終的なトークンは温度サンプリングを用いて選択されます。
ランダムなレスポンスを減らしたい場合は小さい値を、ランダムなレスポンスを増やしたい場合は大きい値を指定します。
HTTP メソッドと URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/anthropic/models/MODEL:streamRawPredict
リクエストの本文(JSON):
{ "anthropic_version": "vertex-2023-10-16", "messages": [ { "role": "ROLE", "content": "CONTENT" }], "max_tokens": MAX_TOKENS, "stream": STREAM }
リクエストを送信するには、次のいずれかのオプションを選択します。
curl
リクエスト本文を request.json
という名前のファイルに保存して、次のコマンドを実行します。
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/anthropic/models/MODEL:streamRawPredict"
PowerShell
リクエスト本文を request.json
という名前のファイルに保存して、次のコマンドを実行します。
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/anthropic/models/MODEL:streamRawPredict" | Select-Object -Expand Content
次のような JSON レスポンスが返されます。
curl コマンドの例
MODEL_ID="claude-3-sonnet@20240229"
LOCATION="us-central1"
PROJECT_ID="PROJECT_ID"
curl \
-X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
https://${LOCATION}-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/${LOCATION}/publishers/anthropic/models/${MODEL_ID}:streamRawPredict -d \
'{
"anthropic_version": "vertex-2023-10-16",
"messages": [{
"role": "user",
"content": "Hello!"
}],
"max_tokens": 50,
"stream": true}'
Anthropic Claude を利用できるリージョン
Claude 3 Sonnet は次のリージョンで利用できます。
us-central1 (Iowa)
asia-southeast1 (Singapore)
us-central1 (Iowa)
europe-west4 (Netherlands)
Anthropic Claude の割り当てとサポートされているコンテキストの長さ
Claude 3 Sonnet と Claude 3 Haiku には、利用可能なリージョンごとに 1 つずつ、2 つの割り当てがあります。割り当ては、1 分あたりのクエリ数(QPM)と 1 分あたりのトークン数(TPM)で指定されます。TPM には、入力トークンと出力トークンの両方が含まれます。
Claude 3 Sonnet のデフォルトの割り当て上限と、サポートされているコンテキストの長さは次のとおりです。
リージョン | デフォルトの割り当て上限 | サポートされているコンテキストの長さ |
---|---|---|
us-central1 (Iowa) |
60 QPM、50,000 TPM | 200,000 トークン |
asia-southeast1 (Singapore) |
60 QPM、50,000 TPM | 200,000 トークン |
Claude 3 Haiku のデフォルトの割り当て上限と、サポートされているコンテキストの長さは次のとおりです。
リージョン | デフォルトの割り当て上限 | サポートされているコンテキストの長さ |
---|---|---|
us-central1 (Iowa) |
60 QPM、50,000 TPM | 200,000 トークン |
europe-west4 (Netherlands) |
60 QPM、50,000 TPM | 200,000 トークン |
Vertex AI の生成 AI の割り当てを引き上げる場合は、Google Cloud コンソールから割り当ての増加をリクエストできます。割り当ての詳細については、割り当てを操作するをご覧ください。
Claude モデルの有効化とプロンプトの送信に必要な権限を設定する
ユーザーが Anthropic Claude モデルを有効にするには、管理者がそのユーザーに Consumer Procurement Entitlement 管理者 IAM(Identity and Access Management)ロールを付与する必要があります。このロールを付与されたユーザーは、Model Garden で Anthropic Claude モデルを有効にできます。
ユーザーが Vertex AI からプロンプト リクエストを行うには、管理者がそのユーザーに aiplatform.endpoints.predict
権限を付与する必要があります。この権限は、Vertex AI ユーザー IAM ロールに含まれています。詳細については、Vertex AI ユーザーとアクセス制御をご覧ください。
コンソール
Consumer Procurement Entitlement 管理者 IAM ロールをユーザーに付与するには、[IAM] ページに移動します。
[プリンシパル] 列で、Anthropic Claude モデルへのアクセスを有効にするユーザーのプリンシパルを探して、その行の「プリンシパルを編集します」アイコン をクリックします。
権限の編集ペインで、[
別のロールを追加] をクリックします。[ロールを選択] で、[Consumer Procurement Entitlement 管理者] を選択します。
権限の編集ペインで、[
別のロールを追加] をクリックします。[ロールを選択] で、[Vertex AI ユーザー] を選択します。
[保存] をクリックします。
gcloud
-
In the Google Cloud console, activate Cloud Shell.
Model Garden で Anthropic Claude モデルを有効にするために必要な Consumer Procurement Entitlement 管理者ロールを付与します。
gcloud projects add-iam-policy-binding PROJECT_ID \ --member=PRINCIPAL --role=roles/consumerprocurement.entitlementManager
プロンプト リクエストを行うために必要な
aiplatform.endpoints.predict
権限を含む Vertex AI ユーザーロールを付与します。gcloud projects add-iam-policy-binding PROJECT_ID \ --member=PRINCIPAL --role=roles/aiplatform.user
PRINCIPAL
は、プリンシパルの ID に置き換えます。ID の形式はuser|group|serviceAccount:email
またはdomain:domain
です(例:user:cloudysanfrancisco@gmail.com
、group:admins@example.com
、serviceAccount:test123@example.domain.com
、domain:example.domain.com
)。以下を含むポリシー バインディングのリストが出力されます。
- members: - user:PRINCIPAL role: roles/roles/consumerprocurement.entitlementManager
詳細については、単一のロールを付与すると
gcloud projects add-iam-policy-binding
をご覧ください。