跳到主要内容

从 OpenAI 迁移到图灵

如果你的代码已经用 OpenAI Python / Node.js / Java SDK,迁过来通常只需改两处base_urlapi_key。下面是最小 diff 与常见迁移场景。

核心 diff(Python)

from openai import OpenAI

client = OpenAI(
- api_key=os.environ["OPENAI_API_KEY"],
+ api_key=os.environ["TURING_API_KEY"],
+ base_url="https://live-turing.cn.llm.tcljd.com/api/v1",
)

Node.js

import OpenAI from "openai";

const client = new OpenAI({
- apiKey: process.env.OPENAI_API_KEY,
+ apiKey: process.env.TURING_API_KEY,
+ baseURL: "https://live-turing.cn.llm.tcljd.com/api/v1",
});

cURL

-curl https://api.openai.com/v1/chat/completions \
+curl https://live-turing.cn.llm.tcljd.com/api/v1/chat/completions \
- -H "Authorization: Bearer $OPENAI_API_KEY" \
+ -H "Authorization: Bearer $TURING_API_KEY" \
-H "Content-Type: application/json" \
-d '{...}'

就这些。剩下的代码(messagestoolsstreamresponse_format 等)不用改。


模型名的选择

OpenAI 的模型名在图灵平台上turing/ 前缀。示例优先列近 6 个月推荐使用的模型;旧模型迁移请以 模型列表 / 聊天 的可用状态为准:

OpenAI 原名图灵平台名
gpt-5.5turing/gpt-5.5
gpt-5.4turing/gpt-5.4
gpt-5.4-minituring/gpt-5.4-mini
gpt-5.4-nanoturing/gpt-5.4-nano
text-embedding-3-smallturing/text-embedding-3-small

图灵平台还支持跨厂商模型(用同一套 OpenAI SDK 调用 Claude / Gemini / Qwen),模型名没有 turing/ 前缀例如 claude-sonnet-5qwen-plus-latest。完整列表见 模型列表 / 聊天


功能对照表

功能OpenAI 原生图灵平台
Chat Completions✅ 完全兼容
Responses API✅(见 OpenAI Responses
code_interpreter / file_search / web_search 内置工具不支持,改用 function 或 MCP
流式 SSE
工具调用
Structured Output (response_format)
Vision / Multimodal✅(图像 + 音频 + 视频 + 文件)
Assistants / Threads⚠ Turing Assistant 规划中;临时请用 Chat Completions + 自己管状态
Embeddings
Images✅(/v1/images/generations/edits/scales
Audio Speech (TTS)
Audio Transcriptions (STT)✅(异步任务模型,见 STT
Realtime✅(WebSocket)
Fine-tuning❌ 不提供
Batch API⚠ 未公开

图灵新增:turing_options

迁过来后,你可以在顶层加一个 turing_options 字段享受平台能力:

response = client.chat.completions.create(
model="turing/gpt-5.4-mini",
messages=[...],
extra_body={
"turing_options": {
"timeout": 30,
"max_retries": 2,
"fallbacks": ["turing/claude-sonnet-5"]
}
}
)
字段作用
timeout服务端超时(0–300s)
max_retries自动重试次数(1–3),仅对 429/5xx/超时
fallbacks主模型失败时自动切备用模型

详见 超时、重试与 Fallback


常见 gotchas

  • 模型名前缀:忘加 turing/ 会返回 404(某些通用模型除外,如跨厂商的 claude-*gemini-*
  • Assistants API:目前不支持,迁过来的 Assistants 代码要改造成 Chat Completions + 本地状态
  • top_logprobs:部分厂商(非 OpenAI)不返回
  • logit_bias:部分小模型忽略
  • Responses 的 web_search 内置工具:图灵不支持,改用 tools 自定义函数 + 联网搜索 的独立端点
  • OpenAI SDK 默认超时:客户端也有超时,建议 OpenAI(timeout=60) 显式设得比 turing_options.timeout

迁移后立刻能用的平台能力

  • 跨厂商切模型:同一段代码换模型名即可从 GPT 切到 Claude / Gemini / Qwen
  • Fallback 链:主模型 429 时自动切备用
  • 统一计费计费与用量 一个面板看所有厂商花费
  • 请求追踪X-Turing-Trace-Id 给排查带来一致性
  • Prompt 缓存:Claude 的 cache_control 在这里也能用,降 90% 输入成本

See also