What Is DeepSeek V4-Pro? Models, API, Function Calling & JSON Output Explained AI / API

What Is DeepSeek V4-Pro? Models, API, Function Calling & JSON Output Explained

DeepSeek Agent を接続していて、ドキュメントには次のように記載されていますdeepseek-v4-prodeepseek-v4-flash, and the retireddeepseek-chat. Function Calling sometimes returnsargumentsthat isn't valid JSON—while JSON Mode and Strict Schema follow different paths?

DeepSeek V4-ProDeepSeek V4 ファミリの主力 MoE モデルであり、2026 年 8 月 13 日より一般提供されています (DeepSeek-V4-Pro-0813 をビルド)。 API サーフェスは変更されていません。base_urlstayshttps://api.deepseek.com, setmodeltodeepseek-v4-pro

OpenAI Chat Completions と互換性があり、Anthropic スタイルのインターフェイスも提供します。関数呼び出し、JSON 出力、および 3 つの思考努力レベルは、同じ API を共有します。

この記事の内容は次のとおりです。

次のことに留意してください。V4-ProのAPIはOpenAIとほぼ同じように見えますが、tool_calls[].function.argumentsは依然としてモデルによって生成された JSON 文字列であり、毎回有効であるとは限りません。以下では、モデル ファミリ → セットアップ → ツール → JSON 出力 → バリアントの選択の順に説明します。

What is DeepSeek V4-Pro

DeepSeek V4 launched via API on 2026-04-24 as a Mixture-of-Experts stack. V4-Pro is the largest variant: ~1.6T total params, ~49B active per forward pass. The siblingdeepseek-v4-flashis lighter (284B / 13B active) for latency- and cost-sensitive workloads.

The 2026-08-13 GA release significantly boosts Agent skills—official benchmarks like Terminal Bench 2.1 and Toolathlon-Verified report production-grade gains. For developers the practical changes are:

すでに別のモデルで OpenAI SDK を使用している場合、V4-Pro に切り替えることは通常、変更のみを意味します。base_url,api_key、 そしてmodel.

V4 のラインナップと従来の名前

API model param 役割 注意事項
deepseek-v4-pro Flagship Agent / reasoning 2026 年 8 月 13 日一般公開。難しい作業に最適
deepseek-v4-flash 早い/経済的 2026-07-31 release; high-QPS friendly
deepseek-chat(退職) legacy 2026 年 7 月 24 日まで V4-Flash 非思考にマッピング
deepseek-reasoner(退職) legacy 2026 年 7 月 24 日まで V4-Flash 思考にマッピング

新しいプロジェクトと CI スクリプトでは次を使用する必要がありますdeepseek-v4-proordeepseek-v4-flash直接 - 従来のエイリアスは 2026 年 7 月 24 日に廃止されました。

API essentials

最小限のチャット完了リクエスト

DeepSeek API matches OpenAI Chat Completions. Python example (install theopenaipackage):

Python · 最小限のリクエスト
from openai import OpenAI

client = OpenAI(
    api_key="YOUR_DEEPSEEK_API_KEY",
    base_url="https://api.deepseek.com",
)

resp = client.chat.completions.create(
    model="deepseek-v4-pro",
    messages=[
        {"role": "system", "content": "You are a helpful assistant."},
        {"role": "user", "content": "用 JSON 列出三个 HTTP 状态码及含义"},
    ],
)
print(resp.choices[0].message.content)

3 つの簡単な落とし穴

  1. 1
    ステートレスAPI

    すべてのリクエストには完全な情報が含まれている必要がありますmessageshistory. The server won't remember prior tool results for you.

  2. 2
    Prompt Cache

    応答usagemay includeprompt_cache_hit_tokens。同じプレフィックスを使用して繰り返し呼び出しを行うとキャッシュがヒットし、コストが削減されます。

  3. 3
    ピーク/オフピークの料金設定

    2026 年 8 月 16 日以降、料金は時間帯によって異なります。オフピークはピークの約半分です。それに応じてバッチ ジョブをスケジュールできます。

Function Calling end-to-end

関数呼び出しを使用すると、モデルは推測ではなく、構造化されたツールの呼び出し (データベースのクエリ、HTTP の呼び出し、計算の実行) を返すことができます。 V4-Pro は OpenAI スタイルを使用しますtools配列。

1. Define tools (JSON Schema)

JSON・ツール定義
{
  "type": "function",
  "function": {
    "name": "get_order",
    "description": "按订单号查询订单状态",
    "parameters": {
      "type": "object",
      "properties": {
        "order_id": { "type": "string", "description": "例如 ORD-10442" }
      },
      "required": ["order_id"]
    }
  }
}

2. Model returns tool_calls

When the model wants a tool,finish_reason"tool_calls"message.contentis usually empty—the real instruction lives in thetool_calls配列:

JSON · typical tool_calls response
{
  "choices": [{
    "message": {
      "role": "assistant",
      "content": "",
      "tool_calls": [{
        "id": "call_0_f1c29a44",
        "type": "function",
        "function": {
          "name": "get_order",
          "arguments": "{\"order_id\": \"ORD-10442\"}"
        }
      }]
    },
    "finish_reason": "tool_calls"
  }]
}

Note:argumentsですyou mustjson.loadsyourself. Official docs warn the model doesn't always emit valid JSON and may hallucinate fields outside your schema.

3. Execute and return a tool message

Python · tool loop core
import json

messages = [{"role": "user", "content": "查一下 ORD-10442 的状态"}]
tools = [/* 上面的 get_order 定义 */]

resp = client.chat.completions.create(
    model="deepseek-v4-pro",
    messages=messages,
    tools=tools,
)
msg = resp.choices[0].message

if msg.tool_calls:
    messages.append(msg)  # 保留 assistant 的 tool_calls
    call = msg.tool_calls[0]
    try:
        args = json.loads(call.function.arguments)
    except json.JSONDecodeError:
        args = {}  # 降级或重试
    result = get_order(**args)  # 你的业务函数
    messages.append({
        "role": "tool",
        "tool_call_id": call.id,
        "content": json.dumps(result, ensure_ascii=False),
    })
    # 再次请求,模型基于真实数据生成最终回答
    final = client.chat.completions.create(
        model="deepseek-v4-pro",
        messages=messages,
        tools=tools,
    )

ツール選択の動作

tool_choice Meaning 一般的な使用方法
"auto"(デフォルト) Model decides whether to call tools 一般代理店
"none" ツール呼び出しを禁止する プレーンテキストの回答、コントロールテスト
{"type":"function","function":{"name":"…"}} 特定の機能を強制する 1 つのツールをヒットする必要があるパイプライン ステップ

max_tokensToo small aargumentstruncates tool-callfinish_reasonになるlength引数が不完全です。エージェントのワークロードには十分な完了予算が必要です。

JSON 出力と Strict モード

JSON モード (response_format)

外部ツールではなく JSON テキストのみが必要な場合は、JSON モードを使用します。

Python · JSON Mode
resp = client.chat.completions.create(
    model="deepseek-v4-pro",
    messages=[
        {"role": "system", "content": "只输出合法 JSON,不要 markdown 代码块"},
        {"role": "user", "content": "生成一个含 name、age 的用户对象"},
    ],
    response_format={"type": "json_object"},
)
raw = resp.choices[0].message.content
data = json.loads(raw)  # 仍建议 try/except

DeepSeek は、V2 時代の内部 JSON 解析率を 78% から 85% に引き上げました。正規表現のクリーンアップは 97% に達する場合があります。 V4はさらに進化しましたが、アプリケーション内で常に検証する—成功者を扱わないでくださいjson.loadsスキーマが正しいことの証拠として。

厳密なスキーマ (ベータ版)

JSON スキーマと正確に一致する必要がある関数呼び出しの場合は、ベータ Strict モードを有効にします。

Strict validates atrequest time—invalid schemas return 400 before generation. Good for catching schema bugs at deploy time.

JSON Mode vs Function Calling

能力 JSON Mode Function Calling
Trigger response_format: json_object tools配列 + ツールループ
Output location message.content tool_calls[].function.arguments
外部システムを呼び出すことができます いいえ - JSON テキストのみ はい - コードが実行され、結果が返されます。
Strict schema プロンプト + 後処理 ベータ版 厳密なネイティブ サポート

Three thinking effort levels

V4-Pro and V4-Flash thinking modes supportlow / high / max努力レベル (参照公式APIドキュメントThinking Mode section):

思考にはより多くのトークンとレイテンシーがかかります。 「このテキストを JSON に変換する」場合は、通常、非思考モード + JSON モードの方が安価です。

V4-Pro vs V4-Flash

寸法 V4-Pro V4-Flash
パラメータ (合計/アクティブ) ~1.6T / ~49B ~284B / ~13B
エージェント/ツール呼び出し GA ブースト;複雑なチェーンに最適 0731 リリースがエージェント ベンチで Pro プレビューを上回る
遅延と遅延料金 より高い より低い;高いQPSに適しています
Function Calling サポートされています サポートされています
JSON output Supported Supported
Typical scenarios Production Agents, repo ops, heavy analytics チャットボット、バッチ抽出、プロトタイプ

どちらも同じ API を共有します。A/B テストに必要なのはmodel変化。一般的なロールアウト: Flash でツール チェーンを証明し、必要に応じて Pro にアップグレードします。

JSONNote を使用してモデル JSON をデバッグする

V4-Pro を統合すると、「この JSON は解析されるか、スキーマは一致するか?」を尋ねるのに多くの時間がかかることになります。 JSONNote はブラウザ内でローカルに実行されます。API キーと応答本文はアップロードされません。

  1. 1
    フォーマットと検証する

    ペーストmessage.contentortool_calls[].function.argumentsintoJSON フォーマッタまたはJSON Validatorto see syntax errors instantly.

  2. 2
    スキーマと照合する

    In theJSON Schemaツールで、関数パラメーターのスキーマとモデル出力を貼り付けて、フィールドを確認します。

  3. 3
    2 つの呼び出しの差分

    プロンプトを調整するか、Pro / Flash を切り替えた後、次を使用します。JSON Diff構造化された出力を比較します。

  4. 4
    チームメイトと共有する

    使用URL ハッシュの共有失敗した JSON とツールの状態をリンク内でエンコードします。受信者はローカルで複製します。データが当社のサーバーに到達することはありません。

よくある質問

DeepSeek V4-Pro API のモデル名は何ですか?

deepseek-v4-probase_urlhttps://api.deepseek.com、認証は OpenAI と一致します (Authorization: Bearer …)。

V4-Pro と V4-Flash のどちらを選択すればよいですか?

複雑なエージェント、長いコンテキスト、高いツール精度 → Pro。高い同時実行性、コスト重視の標準タスク → フラッシュ。どちらも関数呼び出しと JSON 出力をサポートしています。

関数呼び出しが不正な形式の JSON を返した場合はどうなりますか?

解析をラップするtry/except json.JSONDecodeError;必須フィールドを検証します。再試行するか、JSON モードに戻ります。厳密な遵守が必要な場合は、beta Strict を使用してください。

Do I still need my own schema with JSON Mode?

JSON モードは JSON オブジェクトのみを保証し、フィールドがビジネス スキーマと一致することを保証しません。システム プロンプト、検証後、または関数呼び出し + Strict を介して形状を強制します。

Can I still use deepseek-chat?

いいえ。従来の名前は 2026 年 7 月 24 日に廃止されました。に移行しますdeepseek-v4-proordeepseek-v4-flash

関数呼び出しは OpenAI gpt-4o とどのように異なりますか?

リクエスト/レスポンス フィールドとツール ループには、ほぼ互換性があります。違い: 価格、コンテキストの長さ、思考段階、DeepSeek の厳密なベータ パス。回帰テストarguments解析とmax_tokens移行時の予算。

まとめ

DeepSeek V4-Pro は本質的に次のとおりです。

OpenAI 互換 API + フラッグシップ MoE + ネイティブ関数呼び出し / JSON 出力 + オプションの思考努力。

セットmodeldeepseek-v4-pro、OpenAI の方法でツール ループを作成しますが、次の点に注意してください。argumentsモデルによって生成されるため、ユーザー側で解析および検証します。 JSONNote のフォーマッタ、スキーマ、および Diff ツールは、構造化された出力をローカルでデバッグするのに役立ちます。

← ブログに戻る