xAI SDK Python
Sur cette page
Leçon corrigée le 3 novembre 2026 d’après les bonnes pratiques et la référence de l’API xAI : température plafonnée à 1 et recommandée à 0,7. Source : Best practices. Complément du 3 novembre : l’exemple d’appel prêtait au SDK la forme du SDK OpenAI (messages en dictionnaires,
response.choices[0].message.content), ce qui échoue avecxai-sdk1.21.0 ; il suit désormais le README du SDK (chat.append(user(...)),chat.sample(),response.content), exécuté pour vérification.
Le SDK officiel de xAI pour Python
Le SDK Python natif de xAI est la méthode la plus directe pour interagir avec l’API Grok. Il expose les fonctionnalités spécifiques de la plateforme et bénéficie des mises à jour en priorité lorsque de nouveaux modèles ou endpoints sont ajoutés.
Installation
Installez le SDK avec pip dans votre environnement Python :
pip install xai-sdk
Il est recommandé d’utiliser un environnement virtuel pour isoler les dépendances de chaque projet :
python -m venv venv
source venv/bin/activate # Linux/macOS
venv\Scripts\activate # Windows
pip install xai-sdk
Initialiser le client
La classe Client est le point d’entrée du SDK. Elle gère l’authentification, les connexions HTTP et la sérialisation des requêtes :
from xai_sdk import Client
import os
client = Client(api_key=os.getenv("XAI_API_KEY"))
Si la variable d’environnement XAI_API_KEY est définie, vous pouvez aussi créer le client sans argument explicite :
client = Client()
Le SDK détecte automatiquement la variable et l’utilise pour l’authentification.
Envoyer une requête
Une fois le client initialisé, le SDK raisonne en conversations : client.chat.create() crée la conversation (sans rien envoyer), append y ajoute un message construit avec user() ou system(), et sample() demande la réponse du modèle :
import os
from xai_sdk import Client
from xai_sdk.chat import user
client = Client(api_key=os.getenv("XAI_API_KEY"))
chat = client.chat.create(model="grok-4.7")
chat.append(user("Expliquez-moi ce qu'est une API REST en 3 phrases."))
response = chat.sample()
print(response.content)
Paramètres courants
model: identifiant du modèle à utiliser (obligatoire) ; xAI recommandegrok-4.7messages: messages de départ de la conversation, construits avecsystem(),user()etassistant()dexai_sdk.chat(des dictionnaires font échouer l’appel)temperature: de 0 à 2, ramenée à 1 au-delà ; xAI recommande 0,7, avectop_pà 0,95max_tokens: nombre maximal de tokens générésreasoning_effort: profondeur de raisonnement (none,low,medium,high), que xAI recommande de fixer à chaque requête
Le streaming ne passe pas par un paramètre : for response, chunk in chat.stream(): renvoie les fragments au fil de l’eau dans chunk.content. La leçon 10 montre le streaming de l’API REST, en SSE.
Avantages du SDK natif
Par rapport au SDK OpenAI pointé sur l’API xAI (leçon suivante), le SDK natif donne accès directement aux fonctions propres à xAI : recherche sur X et sur le web, outils exécutés côté serveur, génération de vidéo, collections de documents. Ses types Python complets alimentent l’autocomplétion de votre éditeur, et il est maintenu par xAI au rythme de l’API. Il a aussi sa propre forme, qu’il faut accepter : il passe par gRPC, ses messages se construisent avec user() et system(), et ses erreurs sont des grpc.RpcError.
Quand choisir ce SDK
Le choix découle naturellement de votre situation. Pour un nouveau projet construit spécifiquement sur l’API Grok, le SDK natif est le point de départ évident — vous bénéficiez de tout ce qui précède sans aucune contrainte de compatibilité à respecter. Il devient carrément indispensable dès que vous comptez utiliser des fonctionnalités propres à xAI comme la recherche X ou la recherche web intégrée, qui ne s’expriment pleinement que par cette voie. Si en revanche vous avez du code existant bâti sur le SDK OpenAI, ne réécrivez rien pour l’instant : la leçon suivante montre comment l’adapter en changeant deux lignes.
Points clés à retenir
- Installez avec
pip install xai-sdkdans un environnement virtuel - La classe
Clientest le point d’entrée, avec détection automatique deXAI_API_KEY client.chat.create()crée une conversation ;chat.append(user(...))ajoute un message etchat.sample()renvoie la réponse, lue dansresponse.content- Préférez ce SDK pour les nouveaux projets ciblant exclusivement l’API Grok