集成指南
OpenAI Python SDK
使用官方 openai Python 包,从同一个端点调用 GPT、Claude、Gemini 等全部模型。
官方 openai Python SDK 无需任何代码改动即可对接 ToRouter——把 base_url 指向网关,把密钥换成 ToRouter 的 Key,OpenAI Chat Completions / Responses / Embeddings / Images 接口就会自动路由到 OpenAI、Anthropic、Google 等所有上游。
配置
| 配置项 | 说明 |
|---|---|
| Base URL | https://portal.torouter.ai/v1 |
| API Key | sk-***(在 ToRouter 控制台 创建) |
| 模型 | gpt-5、claude-opus-4-7、gemini-2.5-pro 等(参见模型目录) |
如果不想把参数写在代码里,SDK 也会自动读取环境变量 OPENAI_BASE_URL 和 OPENAI_API_KEY。
代码
from openai import OpenAI
client = OpenAI(
base_url="https://portal.torouter.ai/v1",
api_key="sk-***",
)
resp = client.chat.completions.create(
model="gpt-5",
messages=[{"role": "user", "content": "Hello"}],
)
print(resp.choices[0].message.content)from openai import OpenAI
client = OpenAI(
base_url="https://portal.torouter.ai/v1",
api_key="sk-***",
)
stream = client.chat.completions.create(
model="claude-opus-4-7",
messages=[{"role": "user", "content": "用流式给我写一首俳句"}],
stream=True,
)
for chunk in stream:
delta = chunk.choices[0].delta.content or ""
print(delta, end="", flush=True)curl https://portal.torouter.ai/v1/chat/completions \
-H "Authorization: Bearer sk-***" \
-H "Content-Type: application/json" \
-d '{"model":"gpt-5","messages":[{"role":"user","content":"Hello"}]}'易踩的坑
OPENAI_BASE_URL会覆盖 SDK 默认值;如果你的 shell 已经把它指向了别的代理,构造函数参数会胜出。- 不要加末尾斜杠——用
/v1,不是/v1/。SDK 会拼接路径,多一个斜杠会静默返回 404。 - Responses API 在同一个 Base URL 上(
POST /v1/responses);SDK 的client.responses.create(...)同样无需改动。