---
title: "OpenAI SDK 接続（Python / Node）"
description: "用 OpenAI 官方 SDK 调 1折AI の GPT と Claude モデル：base_url と api_key のみ変更、ストリーミング例と環境変数の設定方法付き。"
headingIds: {"インストール":"section-1","呼び出し":"section-2","ストリーミング出力":"section-3","環境変数を使用してコードを変更せずに切り替える":"section-4","Anthropic SDK に切り替えるべきタイミング":"section-5","よくある質問":"section-6","Responses と完全なプログラム":"section-7"}
---

<aside className="docs-publication" data-pagefind-ignore>

ドキュメントは [1ZheAI](https://1zheai.com/en/editorial/#publisher) が管理しています。[出典と訂正](https://1zheai.com/en/editorial/)。

エラーを見つけましたか？ページのアドレスと説明を添えて[サポートに連絡](mailto:support@1zheai.com)してください。API キーやアカウント情報は送信しないでください。

</aside>
OpenAI SDK で書いた既存コードを 1折AI に切り替えるには、2 つのパラメータ `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` を読み取ります。コードでパラメータを渡さない場合、この 2 つの変数を設定するだけで切り替えられます：

```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](/ja/docs/quickstart-anthropic-sdk/) でネイティブインターフェースを使う方が適切です。

## よくある質問

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

`base_url` に `/v1` がありません。OpenAI SDK は後ろに `/chat/completions` を付加するだけです。

</Accordion>
<Accordion title="GPT モデルを呼び出せますか？">

可能です。OpenAI / GPT モデルはすでに提供されています。[サポートされているモデル](/ja/docs/models/) から、あなたのキーで呼び出せるモデル ID を使用してください。

</Accordion>
</AccordionGroup>

## Responses と完全なプログラム

Responses プロトコルが必要な場合は [Responses インターフェース](/ja/docs/api-responses/) を参照してください。Python または Node.js を初めて使う場合は、[完全な例](/ja/docs/code-examples/) をそのまま実行できます。本番運用前に[タイムアウトと制限付きリトライ](/ja/docs/retries/) を設定してください。
