什麼是 DeepSeek V4-Pro?模型、API、函數呼叫和 JSON 輸出解釋 • AI / API
什麼是 DeepSeek V4-Pro?模型、API、函數呼叫和 JSON 輸出解釋
您正在連接 DeepSeek Agent 並且在文件中提到deepseek-v4-prodeepseek-v4-flash,以及退休人員deepseek-chat。函数调用有时会返回arguments這不是有效的 JSON,而 JSON 模式和嚴格模式遵循不同的路徑?
DeepSeek V4-Pro是 DeepSeek V4 系列中的旗艦 MoE 模型,自 2026 年 8 月 13 日起正式發布(版本 DeepSeek-V4-Pro-0813)。 API表面沒有改變:base_url停留https://api.deepseek.com, 放model到deepseek-v4-pro。
它與 OpenAI Chat Completions 相容,並且還提供了 Anthropic 風格的介面;函數呼叫、JSON 輸出和三個思考努力等級共享相同的 API。
本文涵蓋:
- V4-Pro和V4-Flash是什麼以及如何選擇
- 最小聊天完成請求
- 完整的函數呼叫工具循環
- JSON 模式與 beta 嚴格模式
- JSONNote 如何幫助調試 JSON 模型
請記住這一點:V4-Pro 的 API 看起來幾乎像是 OpenAI 的,但是tool_calls[].function.arguments仍然是模型生成的 JSON 字串——不保證每次都有效。以下我們將逐步介紹模型系列 → 設定 → 工具 → JSON 輸出 → 選擇變體。
什麼是 DeepSeek V4-Pro
DeepSeek V4 於 2026 年 4 月 24 日透過 API 作為混合專家堆疊推出。 V4-Pro 是最大的變體:~1.6T 總參數,每個前向傳遞~49B 活動。兄弟姊妹deepseek-v4-flash對於延遲和成本敏感的工作負載來說更輕(284B / 13B 活動)。
2026 年 8 月 13 日 GA 版本顯著提高了 Agent 技能-Terminal Bench 2.1 和 Toolathlon-Verified 等官方基準報告了生產級增益。對開發人員來說,實際的變化是:
- 多步驟工具呼叫較穩定,應答前的空循環較少
- 原生 OpenAIResponses API格式支援(Codex 友善的工作流程)
- 思維模式增加
low/high/max三個努力程度
如果您已經在其他模型上使用 OpenAI SDK,切換到 V4-Pro 通常表示只需更改base_url,api_key, 和model。
V4 系列和舊名稱
| API模型參數 | 角色 | 筆記 |
|---|---|---|
deepseek-v4-pro |
旗艦代理/推理 | 2026-08-13 正式上市;最適合艱鉅的任務 |
deepseek-v4-flash |
快速/經濟 | 2026-07-31 發布;高 QPS 友好 |
deepseek-chat(退休) |
legacy | 直到2026-07-24映射到V4-Flash非思考 |
deepseek-reasoner(退休) |
legacy | Until 2026-07-24 mapped to V4-Flash thinking |
新項目和 CI 腳本應該使用deepseek-v4-pro或者deepseek-v4-flash直接 - 舊別名已於 2026 年 7 月 24 日停用。
API重點
最少聊天完成請求
DeepSeek API 與 OpenAI 聊天完成配對。 Python 範例(安裝openai包裹):
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)
三個容易陷入的陷阱
-
1
Stateless API
每個請求都必須包含完整的
messages歷史。伺服器不會為您記住先前的工具結果。 -
2
Prompt Cache
回應
usage可能包括prompt_cache_hit_tokens。具有相同前綴的重複呼叫會命中快取且成本更低。 -
3
高峰/非高峰定價
自 2026 年 8 月 16 日起,價格因時段而異,非尖峰時段約為尖峰時段的一半。可以相應地安排批次作業。
端到端的函數調用
函數呼叫讓模型回傳結構化工具呼叫(查詢資料庫、呼叫 HTTP、運行數學),而不是猜測。 V4-Pro使用OpenAI風格tools數組。
1. 定義工具(JSON Schema)
{
"type": "function",
"function": {
"name": "get_order",
"description": "按订单号查询订单状态",
"parameters": {
"type": "object",
"properties": {
"order_id": { "type": "string", "description": "例如 ORD-10442" }
},
"required": ["order_id"]
}
}
}
2.模型回傳tool_calls
當模特兒需要工具時,finish_reason是"tool_calls"message.content通常是空的-真正的指令存在於tool_calls大批:
{
"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"
}]
}
筆記:arguments是一個細繩你必須json.loads你自己。官方文件警告該模型並不總是發出有效的 JSON,並且可能會產生架構之外的字段的幻覺。
3.執行並返回工具訊息
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 | 意義 | 典型用途 |
|---|---|---|
"auto"(預設) |
模型決定是否呼叫工具 | 總代理 |
"none" |
禁止工具調用 | 純文字答案,控制測試 |
{"type":"function","function":{"name":"…"}} |
強制執行特定功能 | 必須使用一個工具的管道步驟 |
max_tokens太小了arguments截斷工具調用finish_reason變成length參數不完整。代理工作負載需要慷慨的完成預算。
JSON 輸出和嚴格模式
JSON Mode (response_format)
When you only need JSON text—not external tools—use 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 將內部 JSON 解析率從 V2 時代的 78% 提高到 85%;正規表示式清理可以達到 97%。 V4 進一步改進,但是始終在您的應用程式中進行驗證——不要對待成功者json.loads作為架構正確的證明。
嚴格架構(測試版)
對於必須完全匹配 JSON Schema 的函數調用,啟用 beta 嚴格模式:
base_url改變https://api.deepseek.com/beta- 放
"strict": true - 每一個
object對象的properties必須列出所有鍵required, 和additionalProperties: false
嚴格驗證於請求時間—無效模式在產生之前傳回 400。適合在部署時擷取架構錯誤。
JSON Mode vs Function Calling
| 能力 | JSON Mode | Function Calling |
|---|---|---|
| 扳機 | response_format: json_object |
tools數組+工具循環 |
| 輸出位置 | message.content |
tool_calls[].function.arguments |
| 可以呼叫外部系統 | No—JSON text only | 是的——您的程式碼運行然後返回結果 |
| Strict schema | 提示+後處理 | beta 嚴格的原生支持 |
三個思考努力水平
V4-Pro和V4-Flash思維模式支持low / high / max努力等級(參見官方API文檔思維模式部分):
- low:簡單的問答、格式化、簡短的總結
- high:日常特工,多步驟推理
- max:程式碼生成複雜,規劃漫長
思考需要花費更多的代幣和延遲。對於“將這段文字轉為 JSON”,非思考模式 + JSON 模式通常更便宜。
V4-Pro vs V4-Flash
| 方面 | V4-Pro | V4-Flash |
|---|---|---|
| 參數(總計/活動) | ~1.6T / ~49B | ~284B / ~13B |
| 代理/工具調用 | GA 提升;最適合複雜的鏈條 | 0731 版本在 Agent 工作台上擊敗了 Pro Preview |
| 延遲&成本 | 更高 | 降低;有利於高 QPS |
| Function Calling | 支援 | 支援 |
| JSON 輸出 | 支援 | 支援 |
| 典型場景 | 生產代理、回購作業、大量分析 | 聊天機器人、批量提取、原型 |
兩者共享相同的 API——A/B 測試只需要一個model改變。常見的部署:在 Flash 上證明工具鏈,需要時升級到 Pro。
使用 JSONNote 調試模型 JSON
整合 V4-Pro 意味著要花很多時間詢問「這個 JSON 是否解析,架構是否匹配?」JSONNote 在瀏覽器本地運行 - 您的 API 金鑰和回應正文永遠不會上傳。
-
1
格式與證實
貼上
message.content或者tool_calls[].function.arguments進入JSON 格式化程式或者JSON 驗證器立即查看語法錯誤。 -
2
檢查架構
在JSON Schema工具,貼上您的函數參數架構和模型輸出以驗證欄位。
-
3
區分兩個調用
調整提示或切換 Pro / Flash 後,使用JSON Diff比較結構化輸出。
-
4
與隊友分享
使用URL哈希共享對連結中失敗的 JSON 和工具狀態進行編碼-收件者在本地重現;資料永遠不會到達我們的伺服器。
常問問題
DeepSeek V4-Pro API 型號名稱是什麼?
deepseek-v4-pro。base_url是https://api.deepseek.com, auth 匹配 OpenAI (Authorization: Bearer …)。
V4-Pro 和 V4-Flash 如何選擇?
複雜的智能體、長上下文、高工具精度 → Pro。高並發、成本敏感、標準任務→Flash。兩者都支援函數呼叫和 JSON 輸出。
如果函數呼叫回傳格式錯誤的 JSON 怎麼辦?
包裹解析try/except json.JSONDecodeError;驗證必填欄位;重試或回退到 JSON 模式;當您需要嚴格遵守時,請使用 beta Strict。
我還需要使用 JSON 模式擁有自己的架構嗎?
JSON 模式僅保證 JSON 對象,而不保證欄位與您的業務架構相符。透過系統提示、後驗證或函數呼叫 + Strict 強制執行形狀。
我還能使用 deepseek-chat 嗎?
否。舊名稱已於 2026 年 7 月 24 日退休。遷移到deepseek-v4-pro或者deepseek-v4-flash。
函數呼叫與 OpenAI gpt-4o 有何不同?
請求/回應欄位和工具循環在很大程度上相容。差異:定價、上下文長度、思維層次和 DeepSeek 的嚴格測試路徑。回歸測試arguments解析和max_tokens遷移時的預算。
概括
DeepSeek V4-Pro 本質上是:
OpenAI 相容 API + 旗艦 MoE + 原生函數呼叫 / JSON 輸出 + 可選的思考努力。
放model到deepseek-v4-pro,以 OpenAI 的方式編寫工具循環,但請記住:arguments是模型生成的—由您解析和驗證。 JSONNote 的格式化程式、Schema 和 Diff 工具有助於在本地調試結構化輸出。