---
title: "Intégration du SDK OpenAI (Python / Node)"
description: "Appeler les modèles GPT et Claude de 1折AI avec le SDK officiel OpenAI : modifiez uniquement base_url et api_key, avec exemples de streaming et utilisation des variables d'environnement."
headingIds: {"Installation":"section-1","Appel":"section-2","Sortie en streaming":"section-3","Utiliser les variables d’environnement sans modifier le code":"section-4","Quand passer au SDK Anthropic":"section-5","Questions fréquentes":"section-6","Responses et programme complet":"section-7"}
---

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

Documentation maintenue par [1ZheAI](https://1zheai.com/en/editorial/#publisher). [Sources et corrections](https://1zheai.com/en/editorial/).

Vous avez trouvé une erreur ? [Contactez l'assistance](mailto:support@1zheai.com) en indiquant l'adresse de la page et une description. N'envoyez pas de clés API ni d'identifiants de compte.

</aside>
Si vous avez déjà du code écrit avec le SDK OpenAI, passer à 1折AI ne demande que la modification de deux paramètres : `base_url` et `api_key`. Renseignez l'ID du modèle GPT ou Claude actuellement disponible.

## Installation

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

## Appel

<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` doit inclure `/v1`.

## Sortie en streaming

<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>

## Utiliser les variables d’environnement sans modifier le code

Le SDK officiel OpenAI (Python et Node) lit `OPENAI_BASE_URL` et `OPENAI_API_KEY`. Lorsque le code ne transmet aucun paramètre, il suffit de définir ces deux variables pour basculer :

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

Attention : cela affecte tous les programmes utilisant le SDK OpenAI dans le même environnement.

## Quand passer au SDK Anthropic

L'interface compatible OpenAI convient au cas « code existant, changement de modèle uniquement ». Si vous avez besoin des `cache_control` de Prompt Caching, de l'extended thinking ou du format d'appel d'outils de Claude, utilisez le [SDK Anthropic](/fr/docs/quickstart-anthropic-sdk/) avec l'interface native.

## Questions fréquentes

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

Il manque `/v1` à `base_url`. Le SDK OpenAI ne fait qu'ajouter `/chat/completions` à la fin.

</Accordion>
<Accordion title="Peut-on appeler des modèles GPT ?">

Oui. Les modèles OpenAI / GPT sont en ligne, veuillez utiliser l'ID d'un modèle que votre clé peut appeler dans [les modèles pris en charge](/fr/docs/models/).

</Accordion>
</AccordionGroup>

## Responses et programme complet

Lorsque le protocole Responses est requis, consultez [l'interface Responses](/fr/docs/api-responses/). Pour une première utilisation en Python ou Node.js, exécutez directement [l'exemple complet](/fr/docs/code-examples/) ; avant la mise en production, configurez [le timeout et les retries limités](/fr/docs/retries/).
