当前 API 使用 deepseek-flash 即接入 DeepSeek-V4.1-Flash;思考模式默认开启且默认 effort 为 high,请求档位会按官方映射落到 low、high 或 max,带工具的多轮请求必须完整回传 reasoning_content。
适合的任务:OpenAI-compatible Chat Completions 调用、需要按复杂度调整推理投入的任务,以及带函数工具的多轮 Agent 工作流。
不适合的任务:依赖 temperature、presence_penalty 或 frequency_penalty 改变思考模式输出的调用;无法在工具多轮中保存并完整回传 reasoning_content 的客户端。
适用的模型版本:deepseek-flash,官方首页说明该名称当前对应 DeepSeek-V4.1-Flash;旧名称 deepseek-v4-flash 和 deepseek-v4-flash-vision-exp 仍被接受,但请求由 V4.1-Flash 提供服务。
适用的客户端、Agent 或 API:DeepSeek OpenAI-compatible Chat Completions;文档同时列出 Anthropic 格式和 Responses API 的对应控制字段。
推荐的推理档位和参数:本文编辑建议简单任务使用 low,常规 Agent 使用 high,复杂长程任务使用 max。需要稳定表达意图时显式传 thinking.type="enabled";工具循环保留完整 assistant 消息。
官方思考模式页面给出的 OpenAI SDK 写法如下。thinking 是额外请求体字段,需放入 extra_body:
from openai import OpenAI
client = OpenAI(
api_key="<DeepSeek API Key>",
base_url="https://api.deepseek.com",
)
response = client.chat.completions.create(
model="deepseek-flash",
messages=[
{"role": "user", "content": "9.11 and 9.8, which is greater?"}
],
reasoning_effort="high", # low / high / max
extra_body={"thinking": {"type": "enabled"}},
)
reasoning_content = response.choices[0].message.reasoning_content
content = response.choices[0].message.content思考开关和 effort 的字段位置按协议区分:
| 协议 | 思考开关 | effort 字段 |
|---|---|---|
| OpenAI 格式 | {"thinking": {"type": "enabled/disabled"}};用 OpenAI SDK 时放入 extra_body | reasoning_effort: "low/high/max" |
| Anthropic 格式 | {"thinking": {"type": "enabled/disabled"}} | {"output_config": {"effort": "low/high/max"}} |
| Responses API 格式 | {"reasoning": {"effort": "none/low/high/max"}},其中 none 关闭思考 | 同一字段控制开关和 effort |
模型实际采用的推理档位由请求档位映射得到:
| 请求档位 | 实际档位 |
|---|---|
minimal | low |
low | low |
medium | high |
high | high |
xhigh | high |
max | max |
ultra | max |
将 DEEPSEEK_API_KEY 配置到运行环境,使用 https://api.deepseek.com 作为 OpenAI SDK 的 base_url。
用 model="deepseek-flash" 发起 Chat Completions 请求;按本文编辑建议,简单任务选择 low,常规任务选择 high,复杂任务选择 max,需要显式开关时加入 thinking.type="enabled"。
读取 assistant 消息中的 reasoning_content 和 content。前者是思考模式返回的推理字段,后者是最终回答字段。
不带 tools 的普通多轮请求中,上一轮的 reasoning_content 不需要传回;即使传回也不会被拼接进下一轮上下文。
带 tools 的请求中,将每次返回的完整 assistant 消息加入 messages,保留 content、reasoning_content 和 tool_calls,再把工具结果按对应 tool_call_id 追加为 role="tool"。
重复请求直到 assistant 不再返回 tool_calls。带工具的后续请求即使上一轮没有实际工具调用,也必须完整回传此前生成的 reasoning_content,否则 API 会返回 400。
参数验收时不要把 temperature、presence_penalty 或 frequency_penalty 当作思考模式调节器;top_p 在思考模式下生效,但小于 0.95 的值会被提高到 0.95。关闭思考时 top_p 固定为 1.0,传入值会被忽略。
以下是根据官方回传约束整理的伪代码骨架;run_tool、messages 和 tools 需要由接入方实现,不是完整的官方可执行脚本:
while True:
response = client.chat.completions.create(
model="deepseek-flash",
messages=messages,
tools=tools,
reasoning_effort="high",
extra_body={"thinking": {"type": "enabled"}},
)
assistant = response.choices[0].message
messages.append(assistant) # 保留 reasoning_content 与 tool_calls
if not assistant.tool_calls:
break
for call in assistant.tool_calls:
result = run_tool(call.function.name, call.function.arguments)
messages.append({
"role": "tool",
"tool_call_id": call.id,
"content": result,
})思考模式页面写明:DeepSeek 模型在最终回答前先输出思维链,以提高最终回答准确性;思考模式默认开启,默认 effort 为 high。
同页的请求档位表为 minimal→low、low→low、medium→high、high→high、xhigh→high、max→max、ultra→max。
同页参数说明写明思考模式不支持 temperature、presence_penalty、frequency_penalty;兼容软件即使接受这些字段也不会产生效果。top_p 在思考模式下生效,最低有效值为 0.95;非思考模式固定为 1.0。
同页写明思考内容通过与 content 同级的 reasoning_content 返回。带 tools 时,所有后续请求都应完整回传此前的 reasoning_content;缺失会触发 400。无 tools 的普通多轮不要求回传。
官方首页的模型表将当前模型名称列为 deepseek-flash,并说明旧名称 deepseek-v4-flash、deepseek-v4-flash-vision-exp 的请求由 DeepSeek-V4.1-Flash 提供服务,按 Flash 价格计费;该页作为辅助证据链接:https://api-docs.deepseek.com/。
medium 与 xhigh 在当前映射中都落到实际 high,不会产生独立的中间或更高档位;要请求最高档位应使用 max(ultra 也映射为 max)。
默认开启思考不等于每个请求都必须显式传 thinking;本文显式传 enabled 是为了让配置行为清楚,实际接入仍应遵循所用 SDK 和协议的字段位置。
工具多轮的硬约束是回传完整 reasoning_content,不能只保存最终 content;普通无工具多轮则没有这一要求。
reasoning_content 的存在只证明协议返回了该字段,本文没有把其中的推理文本当作外部事实,也没有主张展示给终端用户。
本文只记录当前官方文档可见的模型名称、控制字段、参数行为和多轮规则;没有从页面缺失部分推断额外 system prompt、客户端默认值或工具安全策略。
访问 Thinking Mode,确认页面标题、控制参数表、effort 映射表、输入输出参数、普通多轮和工具调用章节。
访问 Your First API Call,确认当前模型表、V4.1-Flash 旧名称映射和 Chat Completions curl 示例。
使用 Python OpenAI SDK 按本文配置发起一次 stream=false 请求,记录 message.content、message.reasoning_content 和 message.tool_calls 是否符合页面说明;不要把 API key 写入日志。
若启用工具,保存完整 assistant 消息并在下一次请求中原样回放;分别测试有工具和无工具的多轮消息,核对前者的 reasoning_content 回传要求。
采集日期为 2026-09-16。模型服务和文档可能更新,重新使用前应复核上述两个官方页面。
DeepSeek V4.1 Flash