Skip to content

Node.js SDK

SDKMAX 完全兼容 OpenAI 接口协议,在 Node.js / TypeScript 中直接使用官方 openai即可接入。

安装

bash
npm install openai

初始化客户端

javascript
import OpenAI from "openai";

const client = new OpenAI({
  apiKey: "sk-你的密钥", // 在 SDKMAX 控制台创建
  baseURL: "https://api.sdkmax.com/v1",
});

推荐用环境变量

bash
export OPENAI_API_KEY="sk-你的密钥"
export OPENAI_BASE_URL="https://api.sdkmax.com/v1"

设置后 new OpenAI() 会自动读取,无需硬编码密钥。

对话补全

javascript
const resp = await client.chat.completions.create({
  model: "gpt-4o",
  messages: [
    { role: "system", content: "你是一个乐于助人的助手。" },
    { role: "user", content: "介绍一下 SDKMAX 的核心能力" },
  ],
});

console.log(resp.choices[0].message.content);

流式输出

javascript
const stream = await client.chat.completions.create({
  model: "gpt-4o",
  messages: [{ role: "user", content: "写一首关于 AI 网关的短诗" }],
  stream: true,
});

for await (const chunk of stream) {
  process.stdout.write(chunk.choices[0]?.delta?.content || "");
}

切换模型

javascript
for (const model of ["gpt-4o", "claude-opus-4-8", "deepseek-chat"]) {
  const resp = await client.chat.completions.create({
    model,
    messages: [{ role: "user", content: "1+1等于几?" }],
  });
  console.log(model, "->", resp.choices[0].message.content);
}

文本向量化(Embeddings)

javascript
const resp = await client.embeddings.create({
  model: "text-embedding-3-small",
  input: "SDKMAX 是企业级 AI 网关",
});

console.log(resp.data[0].embedding.length);

生成图片

javascript
const resp = await client.images.generate({
  model: "dall-e-3",
  prompt: "一只在赛博朋克城市里骑摩托车的猫",
  size: "1024x1024",
});

console.log(resp.data[0].url);

详见 图片 API

错误处理

javascript
import OpenAI from "openai";

try {
  await client.chat.completions.create({ model: "gpt-4o", messages: [] });
} catch (err) {
  if (err instanceof OpenAI.RateLimitError) {
    // 429:额度耗尽或触发限流,建议退避重试
  } else if (err instanceof OpenAI.APIError) {
    console.error(err.status, err.message);
  } else {
    throw err;
  }
}

完整错误码含义见 错误码

在浏览器端使用?

不建议在前端直接嵌入 API Key。前端应调用你自己的后端服务,由后端持有 Key 并转发到 SDKMAX,避免密钥泄露给终端用户。

SDKMAX — Enterprise AI Gateway, Aggregating Global AI Resources