OpenAI SDK 接入
如果你使用的是 OpenAI 兼容 SDK,只需要覆盖 base URL 和 API key 即可接入 UniGateway。
基础配置
- Base URL:
https://api.unigateway.ai/v1 - 鉴权请求头:
Authorization: Bearer $UNIGATEWAY_API_KEY - 模型发现接口:
GET /v1/models
Python
from openai import OpenAI
client = OpenAI(
api_key="<YOUR_UNIGATEWAY_API_KEY>",
base_url="https://api.unigateway.ai/v1",
)
models = client.models.list()
print(models.data[0].id)
resp = client.chat.completions.create(
model="gpt-5.2",
messages=[{"role": "user", "content": "给我一个 3 步上线检查清单。"}],
)
print(resp.choices[0].message.content)
TypeScript
import OpenAI from "openai";
const client = new OpenAI({
apiKey: process.env.UNIGATEWAY_API_KEY,
baseURL: "https://api.unigateway.ai/v1",
});
const models = await client.models.list();
console.log(models.data[0]?.id);
const resp = await client.chat.completions.create({
model: "claude-sonnet-4-6",
messages: [{ role: "user", content: "请用 3 点总结发布风险。" }],
});
console.log(resp.choices[0]?.message?.content);
推荐接入流程
- 先调用
GET /v1/models,再选定模型 ID。 - 先跑通
chat.completions或responses,不要一开始就上提供方特有参数。 - 基础非流式请求成功后,再开启 streaming 或 tools。
- 在应用层配置 fallback,不要长期硬编码单一模型。
常见问题
| 问题 | 处理方式 |
|---|---|
| 请求仍然打到原始厂商 | 检查 base_url / baseURL 是否真的指向 UniGateway |
第一次请求就报 404 或 401 | 核对 base URL 结尾是否包含 /v1,并确认 bearer token 有效 |
| 某个模型能用,另一个不能用 | 重新读取 GET /v1/models,模型可用性和账号相关 |
| 不同模型的流式表现不一致 | 把 streaming 当成单独的兼容性测试项 |