Passer au contenu principal
Certains modèles réfléchissent à voix haute avant de répondre. Ils résolvent les problèmes étape par étape, puis fournissent une réponse finale. Cela les rend plus performants pour les mathématiques, le code et les tâches de logique exigeante.
Consultez la liste complète des modèles, des tarifs et des limites de contexte sur la page Modèles. Tous les modèles de raisonnement ne prennent pas en charge le paramètre reasoning_effort. Voir la prise en charge des modèles pour plus de détails.

Lire la sortie

Les modèles de raisonnement renvoient leur chaîne de pensée dans un champ reasoning_content distinct, ce qui garde content propre :
response = client.chat.completions.create(
    model="zai-org-glm-5-1",
    messages=[{"role": "user", "content": "What is 15% of 240?"}]
)

thinking = response.choices[0].message.reasoning_content
answer = response.choices[0].message.content
Certains fournisseurs (Anthropic, Google, OpenAI, Qwen) renvoient des tokens de raisonnement chiffrés ou résumés. Dans ce cas, reasoning_content contient un substitut "[Some reasoning content is encrypted]".

Streaming

En mode streaming, reasoning_content arrive dans le delta avant la réponse finale :
stream = client.chat.completions.create(
    model="zai-org-glm-5-1",
    messages=[{"role": "user", "content": "Explain photosynthesis"}],
    stream=True
)

for chunk in stream:
    if chunk.choices:
        delta = chunk.choices[0].delta
        if delta.reasoning_content:
            print(delta.reasoning_content, end="")
        if delta.content:
            print(delta.content, end="")

Effort de raisonnement

Le paramètre reasoning_effort contrôle à quel point le modèle réfléchit avant de répondre. Un effort plus élevé signifie un raisonnement plus profond, mais davantage de tokens et de latence.

Valeurs acceptées

ValeurDescription
noneDésactive complètement le raisonnement
minimalRaisonnement basique avec un effort minimal
lowRaisonnement léger pour les problèmes simples
mediumRaisonnement équilibré pour une complexité modérée
highRaisonnement profond pour les problèmes complexes
xhighProfondeur de raisonnement très élevée
maxCapacité de raisonnement maximale
Tous les modèles ne prennent pas en charge toutes les valeurs. Venice ne mappe pas automatiquement au niveau pris en charge le plus proche. Les valeurs non prises en charge renvoient une erreur 400 du fournisseur en amont. Par exemple, envoyer xhigh à Claude ou max à GPT-5.2 échouera.En cas de doute, utilisez low, medium ou high. Ce sont les valeurs les plus largement prises en charge.

Prise en charge des modèles

OpenAI

ModèleValeurs prises en charge
GPT-5.2none, low, medium, high, xhigh
GPT-5.2 Codex, GPT-5.3 Codexlow, medium, high, xhigh

Anthropic

ModèleValeurs prises en charge
Claude Opus 4.6, Opus 4.6 Fastlow, medium, high, max
Claude Opus 4.5, Sonnet 4.5, Sonnet 4.6low, medium, high

Google

ModèleValeurs prises en charge
Gemini 3 Pro Previewlow, high
Gemini 3.1 Pro Previewlow, medium, high
Gemini 3 Flash Previewminimal, low, medium, high

xAI

Les modèles Grok (Grok 4.1 Fast, Grok Code Fast) ne prennent pas en charge reasoning_effort. Le spécifier entraînera une erreur.

Autres modèles

ModèleValeurs prises en charge
Qwen 3 235B A22B Thinking, Qwen 3.5 35B A3Blow, medium, high
Kimi K2.5low, medium, high
MiniMax M2.5, M2.1low, medium, high
Série GLM 5.1Raisonnement intégré uniquement, non configurable
DeepSeek R1Raisonnement intégré uniquement, non configurable

Utilisation

Passez reasoning_effort comme paramètre de premier niveau ou utilisez le format imbriqué reasoning.effort :
response = client.chat.completions.create(
    model="minimax-m25",
    messages=[{"role": "user", "content": "Prove that there are infinitely many primes"}],
    extra_body={"reasoning": {"effort": "high"}}
)
Le format plat "reasoning_effort": "high" est également accepté.

Désactiver le raisonnement

Il existe deux façons de désactiver le raisonnement :
MéthodeSyntaxeFonctionnement
reasoning.enabled: false"reasoning": {"enabled": false}Bascule au niveau Venice qui empêche les paramètres de raisonnement d’être envoyés au fournisseur. Recommandé.
reasoning.effort: "none""reasoning": {"effort": "none"}Transmis au fournisseur, qui décide comment le gérer. Pris en charge uniquement par certains modèles (par ex. GPT-5.x).
Pour les modèles qui le prennent en charge, reasoning.enabled: false est l’option la plus fiable :
ModèlePeut être désactivé ?
GPT-5.2Oui
GPT-5.2 Codex, GPT-5.3 CodexOui (mais l’effort none n’est pas pris en charge)
Qwen 3 235B A22B Thinking, Qwen 3.5 35B A3BOui
Série GLM 5.1Oui
Claude Opus 4.5/4.6/4.6 Fast, Sonnet 4.5/4.6Non (raisonne toujours)
Gemini 3 Pro, 3.1 Pro, 3 FlashNon (raisonne toujours)
DeepSeek R1Non (raisonne toujours)
response = client.chat.completions.create(
    model="openai-gpt-52",
    messages=[{"role": "user", "content": "What's the capital of France?"}],
    extra_body={"reasoning": {"enabled": False}}
)

Limites de tokens

Les modèles de raisonnement génèrent des tokens de réponse visibles (dans content) et des tokens de raisonnement (dans reasoning_content). Les deux sont comptabilisés dans votre budget de tokens.

Définir un plafond de tokens

Utilisez max_completion_tokens pour plafonner le nombre total de tokens que le modèle génère, raisonnement compris :
{
  "model": "deepseek-v4-flash",
  "messages": [...],
  "max_completion_tokens": 500
}
max_tokens est également accepté et se comporte de la même manière. Si les deux sont définis, max_completion_tokens prend la priorité. Pour obtenir plus de sortie visible, augmentez le plafond, abaissez reasoning_effort, ou désactivez le raisonnement.

Lire le détail

L’objet usage montre comment votre budget a été dépensé :
"usage": {
  "completion_tokens": 501,
  "completion_tokens_details": { "reasoning_tokens": 169 },
  "prompt_tokens": 13,
  "total_tokens": 514
}
Dans cet exemple, 169 tokens ont été consacrés au raisonnement et 332 à la réponse visible. Lorsque le plafond est atteint, finish_reason vaut length. La limite supérieure de chaque modèle est disponible sous maxCompletionTokens sur l’endpoint /v1/models.

Modèles sans raisonnement

max_tokens et max_completion_tokens se comportent de la même manière sur les modèles sans raisonnement, en plafonnant directement la sortie visible.

Découverte des capacités

Vérifiez ce qu’un modèle prend en charge via l’endpoint /v1/models :
ChampSignification
supportsReasoningLe modèle a une capacité de raisonnement (chaîne de pensée)
supportsReasoningEffortLe modèle accepte le paramètre reasoning_effort / reasoning.effort

Bonnes pratiques

  • Utilisez medium par défaut pour un usage général
  • Utilisez high ou xhigh pour les tâches complexes (mathématiques, code, analyse)
  • Utilisez low pour les applications sensibles à la latence
  • Utilisez reasoning.enabled: false ou définissez l’effort à none pour désactiver le raisonnement
  • En cas de doute, utilisez low, medium ou high. Ce sont les valeurs les plus largement prises en charge