SupaNexus

OpenAI SDK 集成

Markdown 版本

示例中的 <BASE_URL> 请从 接入点 选择并替换。

SupaNexus 可作为 OpenAI API 的 即插即用替代。只需修改 base_url(或 baseURL)和 api_key

配置对照

OpenAI 默认SupaNexus 值
https://api.openai.com/v1<BASE_URL>/v1
OpenAI API KeySupaNexus 项目 API Key

表中 <BASE_URL> 取值见 接入点

Python

from openai import OpenAI

client = OpenAI(
    base_url="<BASE_URL>/v1",
    api_key="whale-project-api-key",
)

# 非流式
response = client.chat.completions.create(
    model="deepseek/deepseek-chat",
    messages=[{"role": "user", "content": "你好!"}],
)
print(response.choices[0].message.content)

# 流式
with client.chat.completions.stream(
    model="deepseek/deepseek-chat",
    messages=[{"role": "user", "content": "你好!"}],
) as stream:
    for event in stream:
        if event.type == "content.delta":
            print(event.delta, end="", flush=True)

环境变量

export OPENAI_API_KEY="whale-project-api-key"
export OPENAI_BASE_URL="<BASE_URL>/v1"

许多读取 OPENAI_* 的工具可零代码切换。

Node.js / TypeScript

import OpenAI from "openai";

const client = new OpenAI({
  baseURL: "<BASE_URL>/v1",
  apiKey: process.env.SNX_API_KEY,
});

const response = await client.chat.completions.create({
  model: "deepseek/deepseek-chat",
  messages: [{ role: "user", content: "你好!" }],
});

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

LangChain

from langchain_openai import ChatOpenAI

llm = ChatOpenAI(
    base_url="<BASE_URL>/v1",
    api_key="whale-project-api-key",
    model="deepseek/deepseek-chat",
)

与 OpenAI 的差异

主题SupaNexus 行为
模型 id使用 GET /v1/models 返回的 id(如 vendor/model),非 OpenAI 模型名
Embeddings / Images路由已注册但返回 501 — 尚未可用
额外响应头Chat 上有 X-SNX-Trace-IDX-SNX-ModelX-SNX-Provider
计费按组织/项目计量;用量见控制台

路线图(尚未可用)

以下端点已注册但返回 HTTP 501

  • POST /v1/embeddings
  • POST /v1/images/generations

正式发布前请勿在生产集成中使用。

相关