从 OpenAI 迁移
如果你的应用已经使用 OpenAI SDK,迁移到 宁享Token 只需修改 Base URL 和 API Key,其余代码完全无需改动。
迁移要点
| 项目 | OpenAI 官方 | 宁享Token |
|---|---|---|
| Base URL | https://api.openai.com | `` |
| API Key | OpenAI Key | 宁享Token 控制台创建的 Key |
| 端点路径 | /v1/chat/completions 等 | 完全相同 |
| 请求/响应格式 | OpenAI 标准 | 完全相同 |
| SDK | openai 官方 SDK | 完全相同 |
获取 API Key
- 登录 宁享Token 控制台
- 进入「API Key 管理」页面
- 点击「创建 Key」,复制生成的 Key
Python 迁移示例
修改前(OpenAI)
python
from openai import OpenAI
client = OpenAI(
api_key="sk-xxxxxxxx", # OpenAI Key
# base_url 默认指向 https://api.openai.com
)
resp = client.chat.completions.create(
model="gpt-4o",
messages=[{'role': 'user', 'content': '你好'}],
)
print(resp.choices[0].message.content)修改后(宁享Token)
python
from openai import OpenAI
client = OpenAI(
api_key="<YOUR_宁享Token_API_KEY>", # 改用 宁享Token Key
base_url="/v1", # 仅新增这一行
)
resp = client.chat.completions.create(
model="glm-5.2", # 切换为 宁享Token 支持的模型
messages=[{'role': 'user', 'content': '你好'}],
)
print(resp.choices[0].message.content)唯一新增的一行:
base_url="/v1"。
Node.js 迁移示例
修改前(OpenAI)
javascript
import OpenAI from "openai";
const client = new OpenAI({
apiKey: process.env.OPENAI_API_KEY,
});
const resp = await client.chat.completions.create({
model: "gpt-4o",
messages: [{ role: "user", content: "你好" }],
});
console.log(resp.choices[0].message.content);修改后(宁享Token)
javascript
import OpenAI from "openai";
const client = new OpenAI({
apiKey: process.env.宁享Token_API_KEY,
baseURL: "/v1", // 仅新增这一行
});
const resp = await client.chat.completions.create({
model: "glm-5.2",
messages: [{ role: "user", content: "你好" }],
});
console.log(resp.choices[0].message.content);cURL 迁移示例
修改前
bash
curl https://api.openai.com/v1/chat/completions \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-4o",
"messages": [{'role': 'user', 'content': '你好'}]
}'修改后
bash
curl /v1/chat/completions \
-H "Authorization: Bearer $宁享Token_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "glm-5.2",
"messages": [{'role': 'user', 'content': '你好'}]
}'环境变量配置
推荐用环境变量管理 Key,避免硬编码:
bash
# .env
宁享Token_API_KEY=sk-xxxxxxxxxxxxxxxx
宁享Token_BASE_URL=/v1Python:
python
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["宁享Token_API_KEY"],
base_url=os.environ["宁享Token_BASE_URL"],
)Node.js:
javascript
const client = new OpenAI({
apiKey: process.env.宁享Token_API_KEY,
baseURL: process.env.宁享Token_BASE_URL,
});兼容性说明
| 能力 | 兼容性 | 说明 |
|---|---|---|
| Chat Completions | ✅ 完全兼容 | 所有参数与响应格式一致 |
| 流式输出(SSE) | ✅ 完全兼容 | stream: true 行为一致 |
| Function Calling | ✅ 完全兼容 | tools / tool_choice 一致 |
| JSON 模式 | ✅ 完全兼容 | response_format 一致 |
| 图像输入 | ✅ 兼容 | image_url 格式一致 |
| Embeddings | ✅ 完全兼容 | 端点 /v1/embeddings |
| 图像生成 | ✅ 兼容 | /v1/images/generations |
| 语音合成 | ✅ 兼容 | /v1/audio/speech |
| 语音识别 | ✅ 兼容 | /v1/audio/transcriptions |
| 模型列表 | ✅ 兼容 | /v1/models 返回 宁享Token 支持的模型 |
模型名称映射
迁移时需将 OpenAI 模型名替换为 宁享Token 支持的模型:
| OpenAI 模型 | 宁享Token 推荐替代 | 说明 |
|---|---|---|
gpt-4o | glm-5.2 | 通用对话 + 多模态 |
gpt-4o-mini | glm-5.1 / deepseek-v4-flash | 低成本 |
gpt-4-turbo | glm-5.2 | 长上下文 |
o1 / o3 | glm-5.2(思考模式)/ deepseek-v4-pro | 推理模型 |
text-embedding-3-large | doubao-embedding-large | 嵌入映射到豆包系(当前在售仅 doubao-embedding-text / -large) |
dall-e-3 | doubao-seedream-5-0 / wan2.7-image | 文生图 |
whisper-1 | 暂未接入 ASR | 语音识别暂不提供 |
常见问题
迁移后报 401 怎么办?
检查 API Key 是否使用 宁享Token 控制台生成的 Key,而非 OpenAI 的 Key。
迁移后报 404 怎么办?
检查 base_url 是否正确设置为 /v1(注意包含 /v1)。
支持哪些 OpenAI SDK?
所有官方 SDK 均兼容:openai-python、openai-node、openai-go、openai-php 等。只需修改 base_url 和 api_key。
