跳转到主要内容
OpenAI 官方 SDK 设计上允许覆盖 base_url,因此 完全兼容 OpenPAI,无需替换库。

Python

pip install openai
from openai import OpenAI

client = OpenAI(
    api_key="sk-XXXXXXXXXXXXXXXX",
    base_url="https://openp.ai/v1",
)

# Chat
resp = client.chat.completions.create(
    model="gpt-5.5",
    messages=[{"role": "user", "content": "hello"}],
)

# 流式
stream = client.chat.completions.create(
    model="gpt-5.5",
    messages=[{"role": "user", "content": "tell a story"}],
    stream=True,
)
for chunk in stream:
    print(chunk.choices[0].delta.content or "", end="")

# Embeddings
emb = client.embeddings.create(
    model="text-embedding-3-small",
    input=["hello world"],
)

# 图像生成
img = client.images.generate(
    model="dall-e-3",
    prompt="a panda",
    size="1024x1024",
)

Node.js / TypeScript

npm install openai
import OpenAI from "openai";

const client = new OpenAI({
  apiKey: process.env.OPENPAI_API_KEY!,
  baseURL: "https://openp.ai/v1",
});

const resp = await client.chat.completions.create({
  model: "gpt-5.5",
  messages: [{ role: "user", content: "hello" }],
});

Go

github.com/sashabaranov/go-openai:
import "github.com/sashabaranov/go-openai"

cfg := openai.DefaultConfig("sk-XXXXXXXXXXXXXXXX")
cfg.BaseURL = "https://openp.ai/v1"
client := openai.NewClientWithConfig(cfg)

resp, _ := client.CreateChatCompletion(ctx,
    openai.ChatCompletionRequest{
        Model: "gpt-5.5",
        Messages: []openai.ChatCompletionMessage{
            {Role: openai.ChatMessageRoleUser, Content: "hello"},
        },
    })

Java

com.openai:openai-java:
import com.openai.client.OpenAIClient;
import com.openai.client.okhttp.OpenAIOkHttpClient;

OpenAIClient client = OpenAIOkHttpClient.builder()
    .apiKey(System.getenv("OPENPAI_API_KEY"))
    .baseUrl("https://openp.ai/v1")
    .build();

环境变量

OpenAI SDK 默认读取以下环境变量,推荐通过环境变量配置:
export OPENAI_API_KEY=sk-XXXXXXXXXXXXXXXX
export OPENAI_BASE_URL=https://openp.ai/v1
这样代码中无需显式传参:
from openai import OpenAI
client = OpenAI()  # 自动读取环境变量

注意事项

  • 超时:长上下文 / 推理模型可能需要把客户端超时调到 5-10 分钟。
  • 重试:OpenPAI 已在网关侧做了上游失败重试,客户端可关闭自带重试(max_retries=0)或保留兜底。
  • Beta 功能:某些 OpenAI Beta 接口(Assistants API、Threads)是否支持以控制台公告为准。