Aller au contenu principal

OpenAI SDK pour Grok

Réutiliser vos connaissances OpenAI

Si vous travaillez déjà avec le SDK OpenAI en Python, vous pouvez l’utiliser tel quel pour appeler l’API Grok. Il suffit de rediriger les requêtes vers les serveurs xAI en changeant l’URL de base. C’est l’approche la plus rapide si vous avez du code existant.

Installation

Si le SDK OpenAI n’est pas encore installé dans votre projet :

pip install openai

Configurer le client pour xAI

La seule différence avec une utilisation classique d’OpenAI est le paramètre base_url :

from openai import OpenAI
import os

client = OpenAI(
    api_key=os.getenv("XAI_API_KEY"),
    base_url="https://api.x.ai/v1"
)

C’est tout. À partir de ce point, toutes les méthodes du SDK OpenAI fonctionnent avec les modèles Grok.

Envoyer un message

L’appel est strictement identique à ce que vous feriez avec GPT :

response = client.chat.completions.create(
    model="grok-4",
    messages=[
        {"role": "system", "content": "Vous êtes un assistant technique."},
        {"role": "user", "content": "Quelle est la différence entre REST et GraphQL ?"}
    ],
    temperature=0.7,
    max_completion_tokens=500
)

print(response.choices[0].message.content)

Modèles disponibles

Remplacez simplement le nom du modèle OpenAI par un modèle Grok :

  • grok-4 : modèle polyvalent avec support vision
  • grok-4.20-reasoning : raisonnement avancé
  • grok-4-1-fast-reasoning : réponses rapides et économiques

Migrer un projet OpenAI existant

Pour adapter un projet existant, vous avez deux options :

Option 1 : Variables d’environnement

Modifiez vos variables sans toucher au code :

export OPENAI_API_KEY="xai-votre-cle"
export OPENAI_BASE_URL="https://api.x.ai/v1"

Le SDK OpenAI lit ces variables automatiquement. Votre code existant fonctionnera sans modification si vous changez aussi le nom du modèle.

Option 2 : Configuration explicite

Créez une fonction d’initialisation qui bascule entre les fournisseurs :

import os
from openai import OpenAI

def creer_client(fournisseur="xai"):
    if fournisseur == "xai":
        return OpenAI(
            api_key=os.getenv("XAI_API_KEY"),
            base_url="https://api.x.ai/v1"
        )
    return OpenAI()  # OpenAI par défaut

client = creer_client("xai")

Cette approche vous permet de basculer facilement entre les fournisseurs pendant la phase de migration.

Différences à connaître

Bien que l’API soit compatible, certains comportements diffèrent :

  • Les paramètres frequency_penalty et presence_penalty ne sont pas supportés sur les modèles de type reasoning
  • Le paramètre stop n’est pas disponible sur les modèles de raisonnement
  • Les noms de modèles sont évidemment différents
  • Certaines fonctionnalités xAI (recherche X, recherche web) ne sont pas accessibles via le format OpenAI standard

Quand choisir cette approche

Le SDK OpenAI en mode compatibilité est idéal quand :

  • Vous avez du code existant à migrer depuis OpenAI
  • Vous voulez pouvoir basculer entre fournisseurs facilement
  • Votre projet utilise des outils tiers construits autour du SDK OpenAI (LangChain, LlamaIndex)
  • Vous travaillez en équipe et tout le monde connaît déjà le SDK OpenAI

Points clés à retenir

  • Ajoutez base_url="https://api.x.ai/v1" au constructeur OpenAI()
  • Remplacez la clé API et le nom du modèle
  • Les variables OPENAI_BASE_URL et OPENAI_API_KEY permettent une migration sans toucher au code
  • Certains paramètres (penalties, stop) ne sont pas supportés sur les modèles reasoning