Skip to content

Python SDK

SDKMAX 完全兼容 OpenAI 接口协议,因此在 Python 中直接使用官方 openai即可接入,无需安装单独的 SDKMAX SDK。

安装

bash
pip install openai

初始化客户端

python
from openai import OpenAI

client = OpenAI(
    api_key="sk-你的密钥",          # 在 SDKMAX 控制台创建,见「创建 API Key」
    base_url="https://api.sdkmax.com/v1",
)

推荐用环境变量

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

设置后可直接 client = OpenAI(),无需在代码中硬编码密钥。

对话补全

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

流式输出

python
stream = client.chat.completions.create(
    model="gpt-4o",
    messages=[{"role": "user", "content": "写一首关于 AI 网关的短诗"}],
    stream=True,
)
for chunk in stream:
    delta = chunk.choices[0].delta.content or ""
    print(delta, end="", flush=True)

切换模型

只需修改 model 参数,其余代码不变:

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

文本向量化(Embeddings)

python
resp = client.embeddings.create(
    model="text-embedding-3-small",
    input="SDKMAX 是企业级 AI 网关",
)
print(len(resp.data[0].embedding))

生成图片

python
resp = client.images.generate(
    model="dall-e-3",
    prompt="一只在赛博朋克城市里骑摩托车的猫",
    size="1024x1024",
)
print(resp.data[0].url)

详见 图片 API

错误处理

openai 库会把 SDKMAX 返回的 4xx/5xx 错误映射为对应的异常类型:

python
from openai import APIStatusError, RateLimitError

try:
    client.chat.completions.create(model="gpt-4o", messages=[...])
except RateLimitError:
    # 429:额度耗尽或触发限流,建议退避重试
    ...
except APIStatusError as e:
    # 其它 4xx/5xx,e.status_code / e.message 可用于排查
    print(e.status_code, e.message)

完整错误码含义见 错误码

异步用法

python
import asyncio
from openai import AsyncOpenAI

client = AsyncOpenAI(api_key="sk-你的密钥", base_url="https://api.sdkmax.com/v1")

async def main():
    resp = await client.chat.completions.create(
        model="gpt-4o",
        messages=[{"role": "user", "content": "你好"}],
    )
    print(resp.choices[0].message.content)

asyncio.run(main())

SDKMAX — Enterprise AI Gateway, Aggregating Global AI Resources