企業平台
Vertex AI 環境設定:四步驟接上 Claude,打出第一個請求
Vertex AI 環境設定:四步驟接上 Claude,打出第一個請求
上一篇把 Vertex AI 的請求旅程看懂了,這一篇捲起袖子動手:四個步驟把環境接起來,然後用 Anthropic Python SDK 打出你的第一個 Claude 請求,最後把多輪對話的上下文管好。
好消息是:整段設定裡沒有任何一步要你複製 API 金鑰。憑證交給 gcloud 處理,SDK 會自動撿起來用,這是走 Vertex 這條路最舒服的地方。
你將學到什麼
四步驟環境設定
Model Garden 啟用模型、gcloud 授權一次搞定。
建立客戶端
安裝 anthropic[vertex],用專案 ID 建立 AnthropicVertex。
第一個請求
create 的三個必要參數,與取出回應文字的方法。
多輪對話
每次呼叫都是獨立的,上下文要自己維護。
四個步驟,把環境接起來
整段設定其實只在做兩件事:讓你的 GCP 專案看得到 Anthropic 的模型,以及讓本機的 SDK 拿得到憑證。拆開來是四個步驟:
- 確認模型已上架:進 Google Cloud Console 的 Vertex AI 主控台,左側導覽點「Model Garden」,搜尋框輸入 Anthropic,點進你要用的模型。
- 啟用模型:模型頁面上若有「Enable」按鈕就按下去;沒看到按鈕,代表你已經有使用權。
- 安裝 gcloud CLI:還沒裝的話,照 Google Cloud 官方文件的指示安裝。
- 登入並設定憑證:跑下面四行指令,設定專案 ID 與預設憑證。
gcloud init
gcloud auth login
gcloud config set project YOUR_PROJECT_ID
gcloud auth application-default login
安裝 SDK,建立客戶端
環境接好之後換到程式這一端。安裝 Anthropic Python SDK 時,記得帶上 vertex 這個安裝選項,才會裝到連接 Vertex AI 平台需要的元件,少了它待會建立客戶端就會失敗:
%pip install "anthropic[vertex]"
接著建立專門對接 Vertex 的客戶端。把 project_id 換成你自己的 GCP 專案 ID(在 Console 的專案選單裡找得到);模型名稱以 Model Garden 頁面標示的為準,設成變數可以少打很多字:
from anthropic import AnthropicVertex
client = AnthropicVertex(region="global", project_id="your-project-id")
model = "claude-sonnet-4@20250514"
create 的三個必要參數
對 Claude 發請求的核心是 messages.create,必帶三個參數:
- model:要用哪個 Claude 模型。
- max_tokens:回應長度的安全上限。注意這是預算不是目標:Claude 不會刻意寫滿,只是不會超過。
- messages:送給 Claude 的對話內容,user 是人寫的、assistant 是 Claude 生成的。
message = client.messages.create(
model=model,
max_tokens=1000,
messages=[
{
"role": "user",
"content": "What is quantum computing? Answer in one sentence"
}
]
)
message.content[0].text
回傳的是一個帶著大量中繼資料的物件,想拿到乾淨的生成文字,就用最後那行 message.content[0].text。這個取值模式之後會一直用到。順帶一提,把 max_tokens 想成一道保險絲:平常不影響輸出,卻能防止意外生成過長、燒出不必要的費用。
多輪對話:上下文自己保管
跟所有 Claude 的介接方式一樣,Vertex 上的每次呼叫都完全獨立,Claude 不記得上一輪。你先問「用一句話定義量子運算」,再單獨送「再寫一句」,它會寫出一句完全不相干的東西。解法是自己維護訊息清單,每次請求都送出完整歷史:
def add_user_message(messages, text):
messages.append({"role": "user", "content": text})
def add_assistant_message(messages, text):
messages.append({"role": "assistant", "content": text})
def chat(messages):
message = client.messages.create(
model=model,
max_tokens=1000,
messages=messages,
)
return message.content[0].text
實際流程:先 add_user_message 放進第一個問題、呼叫 chat 拿到回答、用 add_assistant_message 把回答收進清單,再放進追問、帶著整份清單再呼叫一次。這時 Claude 就知道「再寫一句」指的是接著量子運算的定義往下寫。三個守則收尾:訊息全部存在你的應用程式裡、每次請求送出完整歷史、role 標好 user 與 assistant。
這組輔助函式會陪你走完整個系列。
給 Claude 一個角色:system prompt
基本對話通了之後,第一個值得學的參數是 system。想像你在做一個數學家教機器人:學生問「5x 加 2 等於 3 怎麼解」,你不希望 Claude 直接把完整解法端出來,而是像真的家教一樣先給提示、一步一步引導,也絕不能叫學生「用計算機就好」。把這個期待寫成系統提示傳進 create 就行:
system_prompt = """
You are a patient math tutor.
Do not directly answer a student's questions.
Guide them to a solution step by step.
"""
client.messages.create(
model=model,
messages=messages,
max_tokens=1000,
system=system_prompt
)
差別立竿見影:沒有系統提示,Claude 立刻給出完整解法;加上之後,它改成反問「你覺得第一步該怎麼把 x 孤立出來」。一個實作細節:API 不接受 system 傳入 None,所以要像前面的 chat 函式那樣,有值才把 system 放進參數,沒有就不帶。
調一顆旋鈕:temperature
另一個常用參數是 temperature:0 到 1 之間的小數,控制回答偏穩定還是偏有創意。實際試過就有感:請 Claude 想電影點子,低溫時每次都給出大同小異的「時間旅行考古學家」,高溫時每次都不一樣。要記得它改變的是機率,不是保證,高溫偶爾還是會出現相似的回答。
- 低溫 0 到 0.3:事實回答、程式協助、資料抽取、內容審核。
- 中溫 0.4 到 0.7:摘要、教學內容、問題解決。
- 高溫 0.8 到 1.0:腦力激盪、創意寫作、行銷文案。
在 create 的參數裡加上 temperature 即可,預設是 1.0。到這裡你已經齊裝上陣:環境接通、能連續對話、能定角色、能調輸出風格,下一篇進入串流與輸出控制的實戰。
延伸學習
做出你的第一個 Skill
一場快閃直播的完整重製。從搞懂 Skill 的五個層級開始,帶你把一件你每天在做的重複工作,寫成一支 AI 真的會照做的 Skill ── 命名、description、輸入拆解、Workflow 訪談、Output 與 Checks,最後組成一份能通過格式檢查的 SKILL.md。
NT$ 999
思維邏輯自我訓練:28 天養成計畫(含入門練習版)
四週把「有感覺」練成「有觀點」。每天一題、一個高階任務配一個低階任務,忙的日子也接得上。買這門課直接附贈《入門練習版》八單元 22 課完整講義與練習單,排在課程最前面,先把思維訓練三部曲、知識吸收金三角這些底層工具建立起來,再進入 28 天的每日練習。
NT$ 999

