Nous utilisons des cookies. Les cookies et le stockage du navigateur vous gardent connecté et mémorisent vos préférences. Avec votre accord, nous mesurons aussi l’utilisation du site. Vous pouvez à tout moment. Consultez notre politique relative aux cookies.

Raisonnement

Endpoints

Raisonnement

Contrôlez le budget, l'effort et la sortie de raisonnement des modèles à réflexion avec le paramètre reasoning, et lisez les tokens de raisonnement.

Essayer dans le playground

Les modèles à raisonnement réfléchissent avant de répondre : OpenAI GPT-5 et la série o, Claude avec la réflexion étendue, Gemini 2.5, DeepSeek R1, Qwen et d'autres. api14 accepte un seul paramètre reasoning et le convertit en réglage natif de chaque fournisseur. Les jetons de raisonnement sont facturés comme des jetons de sortie.

Paramètres de requête

ParamètreTypeDescription
reasoning.effortstring"minimal", "low", "medium" ou "high". Utilisé par les modèles OpenAI et Grok, et converti en budget de jetons pour les autres.
reasoning.max_tokensintegerUn budget de réflexion exact, en jetons. Utilisé par Anthropic, Gemini et Qwen. Utilisez l'un ou l'autre, pas les deux.
reasoning.excludebooleanLe modèle raisonne toujours, mais le texte du raisonnement n'est pas inclus dans la réponse.
reasoning.enabledbooleanActive le raisonnement avec les paramètres par défaut.
include_reasoningbooleanAncien interrupteur, équivalent à reasoning: {} ou à reasoning.exclude: false.
{
  "model": "anthropic/claude-sonnet-4.5",
  "messages": [{ "role": "user", "content": "How many r's are in 'strawberry'? Think carefully." }],
  "reasoning": { "max_tokens": 2000 },
  "max_tokens": 4000
}

max_tokens doit être supérieur au budget de raisonnement, car il couvre à la fois la réflexion et la réponse.

import OpenAI from "openai";

const client = new OpenAI({
  baseURL: "https://api14.com/api/v1",
  apiKey: process.env.API14_API_KEY,
});

const result = await client.chat.completions.create({
  "model": "openai/gpt-5-mini",
  "messages": [
    {
      "role": "user",
      "content": "Explain vector databases in two sentences."
    }
  ],
  "reasoning": {
    "effort": "high"
  }
});
console.log(result.choices[0].message.content);

Réponse

Le texte du raisonnement est renvoyé dans message.reasoning, séparément de la réponse. Certains modèles renvoient aussi des reasoning_details structurés :

{
  "id": "gen-1760000000-think",
  "model": "anthropic/claude-sonnet-4.5",
  "choices": [
    {
      "index": 0,
      "finish_reason": "stop",
      "message": {
        "role": "assistant",
        "content": "There are 3 r's in \"strawberry\".",
        "reasoning": "s-t-r-a-w-b-e-r-r-y: r at position 3, 8 and 9..."
      }
    }
  ],
  "usage": {
    "prompt_tokens": 22,
    "completion_tokens": 312,
    "total_tokens": 334,
    "completion_tokens_details": { "reasoning_tokens": 290 },
    "cost": 0.004746
  }
}

En streaming, le raisonnement arrive dans des fragments delta.reasoning, avant les fragments delta.content.

Notes

  • Les modèles de la série o d'OpenAI et GPT-5 ne renvoient pas le texte de leur raisonnement, mais les reasoning_tokens vous sont tout de même facturés.
  • Avec Claude, lors d'un usage d'outils sur plusieurs tours, renvoyez reasoning_details sans modification dans le message de l'assistant pour que le modèle puisse poursuivre son raisonnement.
  • Certains modèles (par exemple deepseek/deepseek-r1) raisonnent toujours. effort ne s'applique pas à eux.
  • Un effort plus élevé coûte plus cher et prend plus de temps. Surveillez completion_tokens_details.reasoning_tokens.

Erreurs

Identiques à celles de Chat completions. Un budget trop petit ou trop grand pour un modèle peut renvoyer un 400 du fournisseur. Voir Erreurs.