什么是思考模式
DeepSeek V4 系列(Flash 和 Pro)均支持思考模式(Thinking Mode),这是 DeepSeek 在推理能力上的重大突破。启用思考模式后,模型会在生成最终答案之前进行内部推理链分析,类似于 OpenAI o1/o3 的 Chain-of-Thought 机制,但 DeepSeek 将其作为可选功能——一个模型同时支持非思考和思考两种模式,通过参数灵活切换。
启用思考模式
通过 thinking 参数控制:
from openai import OpenAI
import os
client = OpenAI(
api_key=os.environ.get('DEEPSEEK_API_KEY'),
base_url='https://api.deepseek.com'
)
response = client.chat.completions.create(
model='deepseek-v4-pro',
messages=[
{'role': 'system', 'content': 'You are a helpful assistant'},
{'role': 'user', 'content': '请证明根号2是无理数'}
],
extra_body={'thinking': {'type': 'enabled'}},
reasoning_effort='high'
)
print('思考过程:', response.choices[0].message.reasoning_content)
print('最终答案:', response.choices[0].message.content)reasoning_effort 三档详解
| 档位 | 效果 | Token消耗 | 适用场景 |
|---|---|---|---|
| low | 快速推理,轻量思考 | 最少 | 简单数学题、常识判断 |
| medium | 默认档位,平衡速度与深度 | 适中 | 中等复杂度推理、代码调试 |
| high | 深度推理,最完整思考链 | 最多 | 数学证明、复杂逻辑、竞赛题 |
思考链提取与展示
思考内容位于 reasoning_content 字段,在前端展示时建议折叠为可展开区域:
// Node.js 示例
import OpenAI from 'openai';
const openai = new OpenAI({
baseURL: 'https://api.deepseek.com',
apiKey: process.env.DEEPSEEK_API_KEY,
});
const completion = await openai.chat.completions.create({
messages: [
{ role: 'system', content: '你是一个数学专家' },
{ role: 'user', content: '解方程 x2 - 5x + 6 = 0' }
],
model: 'deepseek-v4-flash',
thinking: { type: 'enabled' },
reasoning_effort: 'medium',
});
console.log('推理链:', completion.choices[0].message.reasoning_content);
console.log('答案:', completion.choices[0].message.content);双模式切换策略
最佳实践是根据任务类型动态选择模式:
- 非思考模式:日常对话、翻译、摘要、简单问答——更快更省钱
- 思考模式:数学、编程、逻辑推理、复杂分析——质量优先
- 策略:先用非思考模式快速响应,如果答案质量不够,自动升级到思考模式重试
计价规则
思考模式产生的 token 分为两类:推理 token(reasoning_content)按输入价格计费,输出 token(content)按输出价格计费。V4 Flash 思考模式的推理 token 价格为 ¥1/百万 tokens,V4 Pro 为 ¥3/百万 tokens。
注意事项
- FIM 补全仅支持非思考模式
- 思考模式下的 reasoning_content 需单独解析
- 流式输出时思考内容也会分块返回
- 建议根据任务复杂度设置合适的 reasoning_effort,避免浪费