Skip to content

OpenAI SDK(Python / Node)

济川 AI 兼容 OpenAI Chat Completions 协议,官方 SDK 直接可用,只改 base_urlapi_key

安装

bash
pip install openai
bash
npm install openai

基本用法

python
import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["JICHUAN_API_KEY"],
    base_url="https://jc.jichuanai.com/v1",
)

resp = client.chat.completions.create(
    model="deepseek-v4-flash-0731",
    messages=[{"role": "user", "content": "你好"}],
)
print(resp.choices[0].message.content)
javascript
import OpenAI from 'openai'

const client = new OpenAI({
  apiKey: process.env.JICHUAN_API_KEY,
  baseURL: 'https://jc.jichuanai.com/v1',
})

const resp = await client.chat.completions.create({
  model: 'deepseek-v4-flash-0731',
  messages: [{ role: 'user', content: '你好' }],
})
console.log(resp.choices[0].message.content)

base_url 填到 /v1 就行

官方 SDK 会自己拼 /chat/completions。填成完整路径反而会变成 /v1/chat/completions/chat/completions

不要把 key 写进代码

用环境变量。key 提交进 git 仓库后即使删掉也已经泄漏,必须去控制台吊销重建。

流式

python
stream = client.chat.completions.create(
    model="deepseek-v4-flash-0731",
    messages=[{"role": "user", "content": "数到十"}],
    stream=True,
)
for chunk in stream:
    if delta := chunk.choices[0].delta.content:
        print(delta, end="", flush=True)
javascript
const stream = await client.chat.completions.create({
  model: 'deepseek-v4-flash-0731',
  messages: [{ role: 'user', content: '数到十' }],
  stream: true,
})
for await (const chunk of stream) {
  process.stdout.write(chunk.choices[0]?.delta?.content ?? '')
}

拿到用量

python
resp = client.chat.completions.create(
    model="deepseek-v4-flash-0731",
    messages=[{"role": "user", "content": "你好"}],
)
print(resp.usage)   # prompt_tokens / completion_tokens / total_tokens

流式要显式开启:

python
stream = client.chat.completions.create(
    model="deepseek-v4-flash-0731",
    messages=[{"role": "user", "content": "你好"}],
    stream=True,
    stream_options={"include_usage": True},   # 最后一个 chunk 带 usage
)

建议加重试

限流(429)时应当退避重试,而不是直接失败。官方 SDK 自带重试:

python
client = OpenAI(
    api_key=os.environ["JICHUAN_API_KEY"],
    base_url="https://jc.jichuanai.com/v1",
    max_retries=3,      # 默认 2
    timeout=120.0,      # 长上下文请求建议放宽
)

详见 限流说明

遇到问题先查「报错对照表」,仍未解决请在控制台联系客服。