載入中

在 Google Cloud 上設定 Claude(Anthropic 代管)

讓 Google Cloud 專案準備好使用 Google Cloud 上的 Claude Models(Anthropic 代管),給予您自己的帳戶存取權限,並使用 Python 取得來自 Claude 的第一則回覆。接著透過替換其匯入和客戶端,執行任何 Claude API 範例。

25 分鐘Claude Platform

Google Cloud 上的 Claude Models(Anthropic 代管)讓您可以透過自己的 Google Cloud 專案呼叫 Claude。 Anthropic 負責操作 Claude API。Google Cloud 負責處理存取權限,因此您使用 Google 憑證登入。一旦專案設定完成且您的帳戶擁有存取權限,只需幾行 Python 程式碼即可取得第一則回覆。

檢查您擁有哪種服務

Google Cloud 提供 Claude 的兩種服務,每種服務都有自己的設定方式。這裡的步驟適用於 Anthropic 代管。另一種服務是 Google 代管,由 Google 作為 Google Cloud's Agent Platform 的一部分來操作 Claude 模型。若要判斷您擁有哪種服務,請在下表中找出您已經擁有的項目。

您已經擁有的項目您的服務
您程式碼中的 Python SDK 客戶端 AnthropicGoogleCloudAnthropic 代管
您請求 URL 中的主機 claude.googleapis.comAnthropic 代管
Google Cloud 主控台中標示為「Anthropic 代管」的選項Anthropic 代管
您程式碼中的 Python SDK 客戶端 AnthropicVertexGoogle 代管
您請求 URL 中的 Agent Platform 主機,例如 aiplatform.googleapis.comGoogle 代管
Google Cloud 主控台中 Model Garden 裡的 Claude 模型Google 代管

如果您擁有的項目指向 Google 代管,請改為遵循在 Google Cloud 上設定 Claude(Google 代管)。

您需要什麼,以及費用

在開始之前,您需要準備以下項目:

如果您剛安裝好 gcloud CLI,請使用 gcloud auth login 或 gcloud init 登入。這是 gcloud CLI 本身的登入方式,「給自己存取權限」的步驟 2 會需要它。SDK 客戶端所使用的 Application Default Credentials 則是另一個登入方式,會在步驟 3 中進行。

您不需要 Anthropic API 金鑰,因為此服務不使用 API 金鑰。

用量會計費,此服務的 SDK 客戶端目前處於 Beta 版。 計費透過 Google Cloud Marketplace 進行,因此費用會顯示在您的 Google Cloud 帳單上,Anthropic 不會另外寄送發票。您在此傳送的這一個請求同樣會計費。

下方的指令使用佔位值。請將 my-project-id 替換為您的專案 ID,將 you@example.com 替換為您的 Google 帳戶,並將 wrkspc_01AbCdEf23GhIj 替換為您的工作區 ID,下一節會說明工作區 ID。

一次性準備專案

設定過程會為您的 Google Cloud 專案建立一個新的 Anthropic 組織。這與您公司已有的任何 Anthropic 組織是分開的。新組織一開始會有一個工作區,即 Default Workspace,每個呼叫此服務的人都需要該工作區的 ID。

這部分通常由管理員完成。如果貴組織的管理員已經完成此步驟,請向他們索取工作區 ID,然後繼續進行「給自己存取權限」。

如果您已有現有折扣,請在開始之前聯絡您的 Anthropic 或 Google Cloud 客戶代表。 折扣無法套用於過去的用量。

接著請依照文件中設定您的帳戶的步驟進行。該章節列出了您需要的權限。這些步驟會引導您從在 Google Cloud Marketplace 訂閱,到複製以 wrkspc_ 開頭的工作區 ID。請將該 ID 提供給您的開發人員。

Marketplace 訂閱只需進行一次,因此若要新增其他專案,請在該專案中從步驟 2 開始重複這些步驟。如果某個步驟失敗,請參閱帳戶設定疑難排解。

給自己存取權限

每位呼叫 Claude 的開發人員都需要依序在自己的終端機中執行以下步驟。

  1. 在 gcloud 中設定您的專案。

    bash
    gcloud config set project my-project-id

    若要查看 gcloud 目前使用的專案,請執行 gcloud config get-value project。

  2. 授予您的帳戶 roles/claude.user 角色。 發出呼叫的身分需要在該專案上擁有此角色。

    bash
    gcloud projects add-iam-policy-binding \
      my-project-id \
      --member="user:you@example.com" \
      --role="roles/claude.user"

    您需要有變更專案 IAM 政策的權限才能執行此指令。如果沒有這項權限,請請您的管理員為您的帳戶執行此指令。

  3. 使用 Application Default Credentials(ADC)登入。 SDK 客戶端會從 ADC 取得其 Google 存取權杖。若為本機開發,請執行以下指令:

    bash
    gcloud auth application-default login

    若要確認 ADC 正常運作,請執行 gcloud auth application-default print-access-token。

  4. 設定兩個環境變數。 SDK 客戶端需要您的專案 ID 和工作區 ID。

    bash
    export ANTHROPIC_GOOGLE_CLOUD_PROJECT="my-project-id"
    export ANTHROPIC_GOOGLE_CLOUD_WORKSPACE_ID="wrkspc_01AbCdEf23GhIj"

取得第一則回覆

從 Python 發出一次請求即可證明整個設定是可行的。請留在您設定這兩個變數的同一個終端機中。

  1. 安裝附帶 Google Cloud 附加元件的 SDK。

    bash
    pip install -U "anthropic[google_cloud]"
  2. 將此檔案儲存為 first_reply.py。 它會建立客戶端,該客戶端會自行解析您的 Google 憑證。接著它會傳送一次請求並印出回傳的結果。

    python
    from anthropic import AnthropicGoogleCloud
    
    client = AnthropicGoogleCloud()
    
    message = client.messages.create(
        model="claude-opus-5-5",
        max_tokens=1024,
        messages=[{
            "role": "user",
            "content": "Hello, Claude",
        }],
    )
    print(message)
  3. 執行該檔案。

    bash
    python first_reply.py

    整則訊息會印在您的終端機中,Claude 的回覆位於其 content 欄位中。如果您得到的是錯誤訊息,請前往下一節。

請確認回覆是透過您預期的專案傳回的。 客戶端會從 ANTHROPIC_GOOGLE_CLOUD_PROJECT 讀取專案 ID。請在同一個終端機中執行 echo "$ANTHROPIC_GOOGLE_CLOUD_PROJECT"。該值應該是您或您的管理員所準備的專案 ID。gcloud 中設定的專案可能是另一個不同的專案,因此請務必檢查此變數。

若要查看不使用 SDK 的相同請求,請閱讀 cURL 範例。

如果第一次請求失敗

兩種常見錯誤是權限錯誤和模型無法使用的錯誤。

如果客戶端提示缺少工作區 ID,請依照「給自己存取權限」的步驟 4,在此終端機中重新設定這兩個變數。如果遇到速率限制,請聯絡 Anthropic 支援。

權限錯誤

當呼叫者缺少權限時,Google Cloud 會回傳 HTTP 403 錯誤。請在您所呼叫的專案上檢查以下兩件事:

  • claude.googleapis.com 已啟用。請執行 gcloud services list --enabled --project=my-project-id 並尋找其名稱。
  • 您的帳戶擁有 roles/claude.user 或 roles/claude.admin 角色。

新授予的權限或新啟用的服務可能需要一些時間才會生效。如果兩項檢查都通過,請稍等片刻後再次執行 first_reply.py。

模型無法使用

錯誤訊息為 Model {model} is not available for this organization's inference configuration.。當您請求的模型對您的 Anthropic 組織無法使用時,就會出現此錯誤。您可以查閱模型及其 ID,而 Anthropic 支援負責處理 Claude 本身的問題,包括模型和 API 錯誤。

執行任何 Claude API 範例

若要在此服務上執行 Claude API 範例,請替換其匯入(import)和客戶端建構函式。 模型 ID 維持不變,因為此服務使用的模型 ID 與 Claude API 相同。使用此服務不支援功能的範例將無法執行,因此請先查看簡短的不支援功能清單。

假設一個為 Claude API 撰寫的範例如下所示:

python
import anthropic

client = anthropic.Anthropic()

message = client.messages.create(
    model="claude-opus-5-5",
    max_tokens=1024,
    messages=[{
        "role": "user",
        "content": "Hello, Claude",
    }],
)
print(message)

替換之後,只有匯入和客戶端有所變更:

python
from anthropic import AnthropicGoogleCloud

client = AnthropicGoogleCloud()

message = client.messages.create(
    model="claude-opus-5-5",
    max_tokens=1024,
    messages=[{
        "role": "user",
        "content": "Hello, Claude",
    }],
)
print(message)

這樣替換就足夠了,因為新的客戶端會處理其中的差異。向此服務發出的請求與 Claude API 請求有三個不同之處。

差異之處在 Anthropic 代管上
基礎 URL以專案範圍的 URL 取代 https://api.anthropic.com
驗證使用帶有 Google 存取權杖的 Authorization: Bearer 標頭。請勿傳送 x-api-key 標頭。
工作區工作區 ID 是 URL 的一部分。請勿傳送 anthropic-workspace-id 標頭。

客戶端會根據您的專案、位置和工作區 ID,以下列格式建構基礎 URL:

text
https://claude.googleapis.com/v1/projects/{project}/locations/global/workspaces/{workspace}/invoke

接下來該做什麼

接下來請參加 Claude Platform 101。它會教您 messages、max_tokens 和模型各是什麼。接著再參加 Tool use with the Messages API。

只要這些課程或文件中的範例建立了 anthropic.Anthropic() 客戶端,請在執行前替換其匯入和客戶端。 請跳過任何取得或儲存 API 金鑰,或檢查額度的步驟,因為此服務不使用 API 金鑰,而是透過 Google Cloud 計費。部分課程使用 TypeScript,文件中列出了各語言對應的套件和客戶端。

如果您需要,文件中有以下主題: