從其他平台遷移
把應用從 OpenAI、OpenRouter 或 Anthropic 官方 API 遷到 HopBase:要改的三項、各 SDK 的改前改後程式碼、一把金鑰一個分組的規則,以及不支援的功能。
把現有應用遷到 HopBase,只需要改三項:Base URL、金鑰,有時還有模型名稱。請求內容、串流處理和錯誤處理程式碼都不用動。
要改什麼
| OpenAI | OpenRouter | Anthropic | HopBase | |
|---|---|---|---|---|
| Base URL | https://api.openai.com/v1 | https://openrouter.ai/api/v1 | https://api.anthropic.com | OpenAI 協定:https://api.hop-base.com/v1Anthropic 協定: https://api.hop-base.com(不帶 /v1) |
| 金鑰 | OpenAI 金鑰 | 一把 OpenRouter 金鑰呼叫所有模型 | Anthropic 金鑰 | 在「API 金鑰」裡建立的 sk-…,綁定一個套餐分組 |
| 模型名稱 | gpt-5.5 | openai/gpt-5.5、anthropic/claude-sonnet-5 | claude-sonnet-5 | 不帶廠商前綴,按 GET /v1/models 回傳的原樣填寫:gpt-5.5、claude-sonnet-5 |
各模型系列走哪種協定,見 Base URL 與協定。
一把金鑰 = 一個分組 = 一個模型系列
每個分組各建一把金鑰。這和 OpenRouter 正好相反——OpenRouter 一把金鑰能呼叫所有模型。HopBase 的金鑰只綁定一個套餐分組:GET /v1/models 只回傳這個分組的模型,呼叫分組外的模型回傳 404 model_not_found。同時使用 Claude 和 GPT 的應用需要兩把金鑰(一把 Claude 分組、一把 Codex Plus 或 Codex Pro 分組),在程式碼裡依模型選用。
OpenAI SDK
設定 Base URL、換掉金鑰即可。gpt-5.5 這類 OpenAI 模型 ID 只要出現在這把金鑰的 GET /v1/models 裡,就不用改。
import os
from openai import OpenAI
client = OpenAI(
- api_key=os.environ["OPENAI_API_KEY"],
+ base_url="https://api.hop-base.com/v1",
+ api_key=os.environ["HOPBASE_OPENAI_API_KEY"],
)
resp = client.chat.completions.create(
model="gpt-5.5",
messages=[{"role": "user", "content": "Hello"}],
)不想改程式碼的話,兩個 SDK 都會讀取環境變數 OPENAI_BASE_URL 和 OPENAI_API_KEY:分別設為 https://api.hop-base.com/v1 和你的 HopBase 金鑰。更多範例見 OpenAI SDK。
Anthropic SDK
Claude 繼續走 Anthropic Messages API。Base URL 不帶 /v1,金鑰用「Claude Max(官號滿血版)」分組的。「Claude Max(ccmax)」分組的金鑰只能在 Claude Code 用戶端裡用,SDK 呼叫會失敗。
import os
from anthropic import Anthropic
client = Anthropic(
- api_key=os.environ["ANTHROPIC_API_KEY"],
+ 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": "Hello"}],
)同樣可以只改環境變數:ANTHROPIC_BASE_URL=https://api.hop-base.com。詳見 Anthropic SDK。
OpenRouter
改 Base URL 和金鑰,去掉模型名稱裡的廠商前綴,並刪掉 OpenRouter 的來源標識請求標頭——HopBase 用不到它們。
import os
from openai import OpenAI
client = OpenAI(
- base_url="https://openrouter.ai/api/v1",
- api_key=os.environ["OPENROUTER_API_KEY"],
- default_headers={"HTTP-Referer": "https://your-app.example", "X-Title": "Your App"},
+ base_url="https://api.hop-base.com/v1",
+ api_key=os.environ["HOPBASE_OPENAI_API_KEY"],
)
resp = client.chat.completions.create(
- model="openai/gpt-5.5",
+ model="gpt-5.5",
messages=[{"role": "user", "content": "Hello"}],
)如果你之前是透過 OpenRouter 的 OpenAI 相容端點呼叫 Claude,HopBase 上 Claude 沒有這條路徑:請按上一節改用 Anthropic SDK 和 Claude 分組金鑰。其他系列(Gemini、GLM、通義千問、DeepSeek、Kimi、Grok)繼續用 OpenAI SDK,各用自己分組的金鑰。
不支援的功能
| 你可能在用的 | 在 HopBase 上 |
|---|---|
透過 /v1/chat/completions 或 /v1/responses 呼叫 Claude | 回傳 404。請改用 Anthropic Messages——Anthropic SDK |
透過 /v1/responses 或 Gemini 原生 SDK 路徑呼叫 Gemini | 只支援 Chat Completions——Gemini 對話 |
透過 /v1/responses 呼叫 Kimi K3 | 只支援 Chat Completions——Kimi K3 |
| Embeddings、語音轉寫、Files、Batch、Assistants、微調、內容審核介面 | 不提供,這些路徑回傳 404 |
| 一把金鑰呼叫所有模型 | 每個分組各一把金鑰(見上文) |
OpenRouter 的模型候補清單(models)、provider 路由、:online / :free 這類模型後綴 | 不支援,刪掉後只傳一個模型 ID |
完整端點清單見 Base URL 與協定。
遷移後檢查
列出金鑰可用的模型
用新金鑰呼叫 GET https://api.hop-base.com/v1/models,只使用回應裡出現的 ID。
查這把金鑰還能花多少
GET https://api.hop-base.com/v1/usage 回傳這把金鑰可用的餘額,欄位說明見帳戶與目錄 API。