跳到正文

Anthropic SDK

使用 Anthropic SDK 透過 HopBase 調用 Claude 模型。

使用 Anthropic SDK 調用 Claude 模型時,請保留 Messages API 結構,只替換 Base URL、Claude 分組金鑰和模型 ID。

項目填寫值
Base URLhttps://api.hop-base.com(不帶 /v1)
金鑰環境變數HOPBASE_CLAUDE_API_KEY
協議Anthropic Messages:POST /v1/messages;也支援 POST /v1/messages/count_tokens
模型 ID以 Claude 分組金鑰調用 GET /v1/models 的返回值為準

安裝並發送最小請求

安裝 SDK:

python -m pip install anthropic

發送請求:

import os
from anthropic import Anthropic

client = Anthropic(
    base_url="https://api.hop-base.com",
    api_key=os.environ["HOPBASE_CLAUDE_API_KEY"],
)

msg = client.messages.create(
    model="claude-sonnet-5",
    max_tokens=1024,
    messages=[{"role": "user", "content": "你好"}],
)
print(msg.content[0].text)
用哪個分組的金鑰:

使用「Claude Max(官號滿血版)」或「Claude Max(官號滿血版)- 限時特惠」分組的金鑰。「Claude Max(ccmax)」分組只供 Claude Code 客戶端使用,SDK / API 調用會被拒絕。

不要把 Claude 分組金鑰配置成 OpenAI Compatible。Claude SDK 應保持 Anthropic 原生鑑權和 Messages API 請求結構;Claude 金鑰調 OpenAI 協議接口會返回 404。

讀取本次扣費

計費的非串流請求會在回應標頭 X-HopBase-Cost-USD 裡回傳本次實際從餘額扣除的美元金額,X-HopBase-Cost 是同一筆扣費的人民幣金額,X-HopBase-Currency 是 X-HopBase-Cost 的幣別(恆為 CNY);回應的 usage 裡也有同樣的 cost、cost_usd 與 currency,SDK 會把它們當作額外欄位保留。串流回應都不帶,message_delta 的 usage 保持原樣,扣費請到主控台「使用記錄」查看。完整口徑見扣費說明。

raw = client.messages.with_raw_response.create(
    model="claude-sonnet-5",
    max_tokens=1024,
    messages=[{"role": "user", "content": "只回覆 ok"}],
)
print(raw.headers.get("x-hopbase-cost"), raw.headers.get("x-hopbase-cost-usd"), raw.headers.get("x-hopbase-currency"))
msg = raw.parse()  # 與不帶 with_raw_response 時的回傳值相同
print(msg.usage.cost, msg.usage.cost_usd, msg.usage.currency)  # 額外欄位,與回應標頭同值

支援的請求參數

下表只列網關會補值或特別處理的部分;其餘 Messages API 欄位(system、tools、thinking、temperature 等)原樣轉發,取值範圍按 Anthropic 官方規格。各模型的上下文與輸出上限見模型列表。

參數 / 請求頭必填型別與限制預設說明
x-api-key 或 Authorization: Bearer必填以 sk- 開頭的 Claude 分組金鑰—兩種請求頭都接受;缺失返回 401 missing_api_key,格式不對返回 401 invalid_api_key
model必填string,當前金鑰分組內的模型 ID—分組不包含該模型時返回 404 model_not_found
max_tokens選填integer;網關不設上限,最大值按模型官方規格4096官方 API 要求必填,HopBase 缺省時補為 4096:長輸出會在 4096 處截斷(stop_reason: "max_tokens"),請顯式設定
messages必填array,按 Anthropic 官方格式—原樣轉發
stream選填booleanfalsetrue 返回 Anthropic SSE 事件流
anthropic-version / anthropic-beta選填string 請求頭—SDK 會自動帶上;原樣轉發

整個請求體上限 60 MB,超過返回 413。

下一步