集成指南/OpenAI SDK 接入

通过自定义 base URL 和实时模型发现,把 OpenAI 兼容 SDK 接到 UniGateway。

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);

推荐接入流程

  1. 先调用 GET /v1/models,再选定模型 ID。
  2. 先跑通 chat.completionsresponses,不要一开始就上提供方特有参数。
  3. 基础非流式请求成功后,再开启 streaming 或 tools。
  4. 在应用层配置 fallback,不要长期硬编码单一模型。

常见问题

问题处理方式
请求仍然打到原始厂商检查 base_url / baseURL 是否真的指向 UniGateway
第一次请求就报 404401核对 base URL 结尾是否包含 /v1,并确认 bearer token 有效
某个模型能用,另一个不能用重新读取 GET /v1/models,模型可用性和账号相关
不同模型的流式表现不一致把 streaming 当成单独的兼容性测试项

Example request

Run it in your stack

Pick the SDK style that matches your app and copy the snippet directly into your project.

from openai import OpenAI

client = OpenAI(api_key="<YOUR_UNIGATEWAY_API_KEY>", base_url="https://api.unigateway.ai/v1")
print(client.models.list())