Skip to content
GuidesJuly 12, 2026

用 OpenAI SDK 打任意模型

官方 openai 包(Python 和 TypeScript)不必只打 OpenAI 模型。覆盖 base_url 和 api_key,其余调用不变,用 provider/model 字符串寻址 28+ 家供应商的 170+ 模型——包括 OpenAI 自己的。

OpenAI SDK 能打不是 OpenAI 的模型吗?

能。openai 包在 Python 或 JS/TS 里只要覆盖两件事就能换后端:base_url 和 api_key。其余——client.chat.completions.create、流式形状、消息格式——无论后面是 GPT、Claude、Gemini 还是别的,都是同一调用。

AnyRouter 在 28+ 家供应商的 170+ 模型前面实现同一套兼容 OpenAI 的契约,所以你已经装好的 SDK 变成通用客户端,而不只是 OpenAI。

一个客户端,两种语言

只改两个值——base URL 和 key。模型选择进 model 字符串:

from openai import OpenAI

client = OpenAI(
    base_url="https://anyrouter.dev/api/v1",
    api_key="sk-ar-v1-...",
)

resp = client.chat.completions.create(
    model="anthropic/claude-opus-4-8",
    messages=[{"role": "user", "content": "Explain base_url in one sentence"}],
)
print(resp.choices[0].message.content)

两段都是未改过的 openai 和 openai-node——除了 OpenAI 集成本来就要装的东西,没有别的。

流式和工具调用原样带过来

契约是标准 Chat Completions API,你已经处理这部分的代码不用动。设 stream=True,按打 OpenAI 的方式读 delta;函数/工具定义同样透传。

  • 流式 —— stream=True(Python)或 stream: true(TypeScript),同一 delta 形状。
  • 工具调用 —— 同一 tools 数组和 tool_choice 参数。
  • 同一把 key 上的其他方言 —— Anthropic 风格客户端用 /messages,较新的 Responses API 用 /responses。

改模型,不改代码

每个模型都是 provider/model 字符串,换跑什么是配置值:

Model idOwner
openai/gpt-5.5OpenAI
anthropic/claude-opus-4-8Anthropic
google/gemini-2.5-proGoogle
z-ai/glm-5.2Z.ai
AnyRouter 模型页列出供应商、上下文长度和定价
每个 model id 解析到自己的页,带规格和上游供应商。

两个方向都不锁死

这是真正的 OpenAI API 契约,不是私有封装,同一段代码随时可以指回 api.openai.com——调用形状没有任何 AnyRouter 特有部分。端点后面的完整目录和故障切换见 /blog/zh/one-api-every-llm。

留下 OpenAI SDK,打到 28+ 家供应商的 170+ 模型。

免费拿一把 key

两分钟发第一笔请求

用自己的 key 免费开始,或充值按 token 计费。Go 每月 $4 额度 — $2/月,或捐一把 provider key 免费开通。

开始使用