---
title: OpenAI SDK 接入（Python / Node）
description: 用 OpenAI 官方 SDK 调 1折AI 的 GPT 与 Claude 模型：只改 base_url 和 api_key，附流式示例和环境变量写法。
---

已经有用 OpenAI SDK 写的代码，换成 1折AI 只要改两个参数：`base_url` 和 `api_key`。模型名填入当前可用的 GPT 或 Claude 模型 ID。

## 安装

<CodeGroup>
```bash title="Python"
pip install openai
```
```bash title="Node.js"
npm install openai
```
</CodeGroup>

## 调用

<CodeGroup>
```python title="Python"
import os
from openai import OpenAI

client = OpenAI(
    base_url="https://1zheai.com/v1",
    api_key=os.environ["ONEZHE_API_KEY"],
)

resp = client.chat.completions.create(
    model="gpt-5.6-sol",
    messages=[{"role": "user", "content": "用一句话解释什么是 prompt caching"}],
)
print(resp.model)
print(resp.choices[0].message.content)
print(resp.usage)
```
```javascript title="Node.js"
import OpenAI from "openai";

const client = new OpenAI({
  baseURL: "https://1zheai.com/v1",
  apiKey: process.env.ONEZHE_API_KEY,
});

const resp = await client.chat.completions.create({
  model: "gpt-5.6-sol",
  messages: [{ role: "user", content: "用一句话解释什么是 prompt caching" }],
});
console.log(resp.model);
console.log(resp.choices[0].message.content);
console.log(resp.usage);
```
</CodeGroup>

`base_url` 要带 `/v1`。

## 流式输出

<CodeGroup>
```python title="Python"
stream = client.chat.completions.create(
    model="gpt-5.6-sol",
    messages=[{"role": "user", "content": "写一首四行的诗"}],
    stream=True,
)
for chunk in stream:
    if chunk.choices and chunk.choices[0].delta.content:
        print(chunk.choices[0].delta.content, end="", flush=True)
```
```javascript title="Node.js"
const stream = await client.chat.completions.create({
  model: "gpt-5.6-sol",
  messages: [{ role: "user", content: "写一首四行的诗" }],
  stream: true,
});
for await (const chunk of stream) {
  process.stdout.write(chunk.choices[0]?.delta?.content ?? "");
}
```
</CodeGroup>

## 用环境变量，不改代码

OpenAI 官方 SDK（Python 和 Node）会读取 `OPENAI_BASE_URL` 和 `OPENAI_API_KEY`。代码里不传参数时，设置这两个变量就能切过来：

```bash
export OPENAI_BASE_URL="https://1zheai.com/v1"
export OPENAI_API_KEY="sk-你的Key"
```

注意这会影响同一环境里所有用 OpenAI SDK 的程序。

## 什么时候换 Anthropic SDK

OpenAI 兼容接口适合"已有代码、只想换模型"。如果你需要 Prompt Caching 的 `cache_control`、extended thinking、Claude 的工具调用格式，用 [Anthropic SDK](/docs/quickstart-anthropic-sdk/) 走原生接口更合适。

## 常见问题

<AccordionGroup>
<Accordion title="404？">

`base_url` 少了 `/v1`。OpenAI SDK 只会在后面拼 `/chat/completions`。

</Accordion>
<Accordion title="能调 GPT 模型吗？">

可以。OpenAI / GPT 模型已上线，请使用[支持的模型](/docs/models/)中你的密钥可调用的模型 ID。

</Accordion>
</AccordionGroup>
