Skip to content

OpenAI SDK 接入

Shuro 完整兼容 OpenAI 协议。只要把 base_url 指到 https://shuro.vip/v1,官方 openai SDK(Python / Node.js)及一切 OpenAI 兼容框架(LangChain、LlamaIndex 等)都能直接用。

  • Base URLhttps://shuro.vip/v1
  • 端点POST /v1/chat/completions
  • API Key控制台 → 「令牌」创建,见 获取 API Key

一个协议,两个系列

OpenAI 协议不止能调 GPT——Claude 全系同样支持 OpenAI 协议,把 model 换成 claude-sonnet-4-6 等即可。GPT 系列(gpt-5.5 / gpt-5.4 / gpt-5.4-mini)则支持 OpenAI 协议。

Python

bash
pip install openai
python
from openai import OpenAI

client = OpenAI(
    base_url="https://shuro.vip/v1",
    api_key="<您的 API Key>",
)

resp = client.chat.completions.create(
    model="gpt-5.4",
    messages=[{"role": "user", "content": "用一句话解释什么是 API 中转"}],
)
print(resp.choices[0].message.content)

同一份代码调 Claude

只改 model,其余不动:

python
resp = client.chat.completions.create(
    model="claude-sonnet-4-6",
    messages=[{"role": "user", "content": "Reply with one word: pong"}],
)
print(resp.choices[0].message.content)

适合已有 OpenAI 生态代码、又想混用 Claude 的场景。若要用 Claude 的原生能力(thinkingcache_control 等),建议改走 Anthropic SDK

Node.js

bash
npm install openai
javascript
import OpenAI from "openai";

const client = new OpenAI({
  baseURL: "https://shuro.vip/v1",
  apiKey: "<您的 API Key>",
});

const resp = await client.chat.completions.create({
  model: "gpt-5.4",
  messages: [{ role: "user", content: "用一句话解释什么是 API 中转" }],
});
console.log(resp.choices[0].message.content);

流式输出

python
stream = client.chat.completions.create(
    model="gpt-5.4",
    messages=[{"role": "user", "content": "写一首关于代码的短诗"}],
    stream=True,
)
for chunk in stream:
    delta = chunk.choices[0].delta.content
    if delta:
        print(delta, end="", flush=True)
javascript
const stream = await client.chat.completions.create({
  model: "gpt-5.4",
  messages: [{ role: "user", content: "写一首关于代码的短诗" }],
  stream: true,
});
for await (const chunk of stream) {
  process.stdout.write(chunk.choices[0]?.delta?.content ?? "");
}

环境变量方式

官方 SDK 会自动读取 OPENAI_BASE_URL / OPENAI_API_KEY,代码里可以不写任何配置:

bash
export OPENAI_BASE_URL="https://shuro.vip/v1"
export OPENAI_API_KEY="<您的 API Key>"
python
from openai import OpenAI

client = OpenAI()  # 自动读环境变量

多数 OpenAI 兼容框架也认这两个变量,接入方式相同。

curl 快速验证

bash
curl -sS https://shuro.vip/v1/chat/completions \
  -H "Authorization: Bearer <您的 API Key>" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-5.4-mini",
    "messages": [{"role": "user", "content": "Reply with one word: pong"}]
  }'

返回 JSON 里看到 pong 即通。

选哪个模型

场景可选依据(文档倍率 / 上下文)
低成本 / 短任务、后台任务gpt-5.4-mini / claude-haiku-4-5-20251001目录内最低模型倍率(0.375 / 0.5)
中等倍率 / 日常使用gpt-5.4 / claude-sonnet-4-6模型倍率 1.25 / 1.5,上下文 400K / 1M
高能力档 / 长上下文gpt-5.5 / claude-opus-4-8模型倍率 2.5,上下文 1.1M / 1M

完整模型目录(上下文、倍率、能力标注)见 支持的模型;计费与分组/补全倍率见 定价与计费

常见错误速查

现象跳转
401 Invalid token401 排查
503 No available accounts503 排查
其他错误码错误代码对照表

下一步

内容采用 CC BY-NC-ND 4.0 协议 · 禁止商业使用 / 禁止改编 / 禁止训练 AI 模型