Cookieを使用しています. Cookieとブラウザストレージは、ログイン状態の維持と設定の保存に使われます。許可いただいた場合は、サイトの利用状況も計測します。はいつでも変更できます。詳しくはCookieポリシーをご覧ください。

推論

エンドポイント

推論

reasoning パラメーターで推論モデルの思考量を制御し、推論トークンを読み取る方法です。effort と max_tokens の使い分け、プロバイダーごとの違い、レスポンス形式、注意事項、エラーを説明します。OpenAI、Claude、Gemini、DeepSeek などが対象です。

プレイグラウンドで試す

推論モデルは、回答する前に考えます。OpenAI の GPT-5 と o シリーズ、拡張思考を備えた Claude、Gemini 2.5、DeepSeek R1、Qwen などが該当します。api14 は単一の reasoning パラメーターを受け取り、それを各プロバイダー固有の設定に変換します。推論トークンは出力トークンとして課金されます。

リクエストパラメーター

パラメーター型説明
reasoning.effortstring"minimal"、"low"、"medium"、"high"。OpenAI と Grok のモデルで使われ、それ以外ではトークン予算に変換されます。
reasoning.max_tokensintegerトークン数で指定する正確な思考予算。Anthropic、Gemini、Qwen で使われます。これと effort はどちらか一方だけを使ってください。
reasoning.excludebooleanモデルは推論を行いますが、推論のテキストはレスポンスに含まれません。
reasoning.enabledbooleanデフォルト設定で推論を有効にします。
include_reasoningbooleanレガシーのスイッチ。reasoning: {} または 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 は、思考と回答の両方を含むため、推論予算よりも大きくする必要があります。

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);

レスポンス

推論のテキストは、回答とは別に message.reasoning で返されます。モデルによっては、構造化された reasoning_details も返します。

{
  "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
  }
}

ストリーミングでは、推論は delta.content のチャンクよりも前に、delta.reasoning のチャンクとして届きます。

注意事項

  • OpenAI の o シリーズと GPT-5 のモデルは推論のテキストを返しませんが、reasoning_tokens には課金されます。
  • Claude でのマルチターンのツール使用では、モデルが推論を続けられるように、アシスタントのメッセージで reasoning_details を変更せずに送り返してください。
  • 一部のモデル(例: deepseek/deepseek-r1)は常に推論します。これらには effort は適用されません。
  • effort を高くすると、コストが増え、時間もかかります。completion_tokens_details.reasoning_tokens に注意してください。

エラー

Chat Completions と同じです。モデルに対して小さすぎる、または大きすぎる予算を指定すると、上流が 400 を返すことがあります。エラーを参照してください。