LogoToRouter 文档
LogoToRouter 文档
首页ToRouter 是什么5 分钟快速开始核心概念
OpenAI Python SDKOpenAI Node / TypeScript SDKAnthropic SDK(Python 与 TypeScript)Google Gen AI SDK(Gemini)CursorCline(VS Code 扩展)Claude Code CLILangChain 与 LlamaIndexDify 与 n8n(无代码)
集成指南

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 URLhttps://portal.torouter.ai/v1
API Keysk-***(在 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(...) 同样无需改动。

下一步

创建 API Key

Base URL 与鉴权参考

模型目录

错误排查

用量明细与 CSV 导出

按日期、模型筛选请求日志,查看 token 拆分,一键导出 CSV。

OpenAI Node / TypeScript SDK

在 Node、Bun、Deno 或浏览器中使用官方 openai npm 包对接 ToRouter。

目录

配置代码下一步