Compatibilite avec l'OpenAI SDK
Utiliser le multi-agent via l’OpenAI SDK
Si vous utilisez deja l’OpenAI SDK dans vos projets, vous pouvez acceder au multi-agent de Grok sans changer de SDK. xAI expose une API compatible avec le format Responses de OpenAI, ce qui permet d’utiliser le client OpenAI en pointant vers l’API xAI.
Configuration du client
Le principe est simple : vous initialisez le client OpenAI avec l’URL de base de xAI et votre cle API xAI :
from openai import OpenAI
client = OpenAI(
api_key=os.getenv("XAI_API_KEY"),
base_url="https://api.x.ai/v1",
)
A partir de la, vous utilisez la Responses API normalement, avec grok-4.20-multi-agent comme modele.
Controle du nombre d’agents via reasoning.effort
Contrairement au xAI SDK qui expose agent_count, l’OpenAI SDK utilise le parametre reasoning.effort pour determiner le nombre d’agents :
# 4 agents (effort low)
response = client.responses.create(
model="grok-4.20-multi-agent",
reasoning={"effort": "low"},
input=[{"role": "user", "content": "Quels sont les derniers modeles open source de 2026 ?"}],
)
print(response.output_text)
# 16 agents (effort high)
response = client.responses.create(
model="grok-4.20-multi-agent",
reasoning={"effort": "high"},
input=[{"role": "user", "content": "Compare les strategies IA de l'UE et des USA en 2026"}],
)
print(response.output_text)
Le mapping effort → agents
Le mapping est le suivant :
"low"→ 4 agents"medium"→ 4 agents"high"→ 16 agents"xhigh"→ 16 agents
La difference entre low et medium (ou entre high et xhigh) n’affecte pas le nombre d’agents. Ces niveaux intermediaires peuvent influencer d’autres aspects du comportement, mais le nombre d’agents reste identique au sein de chaque paire.
Chat Completions NON supporte
Un point essentiel : l’API Chat Completions n’est pas supportee pour le multi-agent. Vous devez utiliser la Responses API (client.responses.create), pas client.chat.completions.create.
Si vous tentez d’utiliser Chat Completions avec le modele multi-agent, vous obtiendrez une erreur. C’est une contrainte importante si votre code existant repose sur cette API.
# NE FONCTIONNE PAS
response = client.chat.completions.create(
model="grok-4.20-multi-agent",
messages=[{"role": "user", "content": "..."}],
)
Streaming avec l’OpenAI SDK
Le streaming fonctionne via la Responses API :
stream = client.responses.create(
model="grok-4.20-multi-agent",
reasoning={"effort": "low"},
input=[{"role": "user", "content": "Resume les annonces tech de cette semaine"}],
stream=True,
)
for event in stream:
if hasattr(event, 'delta') and event.delta:
print(event.delta, end="", flush=True)
Avantages et limites de cette approche
Avantages :
- Pas besoin d’installer un SDK supplementaire si vous utilisez deja OpenAI
- Syntaxe familiere pour les developpeurs habitues a l’ecosysteme OpenAI
- Facile de basculer entre modeles xAI et OpenAI dans le meme code
Limites :
- Pas d’acces a
agent_count(controle indirect viareasoning.effort) - Pas de
verbose_streamingni d’use_encrypted_content - Le mapping effort → agents pourrait evoluer (API beta)
Points cles a retenir
- L’OpenAI SDK fonctionne avec le multi-agent via
base_url="https://api.x.ai/v1" - Le nombre d’agents se controle via
reasoning.effort(low/medium = 4, high/xhigh = 16) - Chat Completions n’est PAS supporte — utilisez la Responses API uniquement
- Certains parametres exclusifs du xAI SDK (
agent_count,verbose_streaming) ne sont pas accessibles