从零开始读懂 DeepSeek-V3.1:一份给技术新人的混合推理模型说明书
“
如果你刚拿到一台新电脑,拆箱后第一件事是翻说明书;
如果你第一次接触 DeepSeek-V3.1,这篇文字就是你的“说明书”。
不夸张、不堆词,只把官方文档翻译成“人话”。
为什么值得你花 10 分钟读完?
-
新模型到底“新”在哪? -
思考模式 vs 非思考模式到底差多少? -
调用价格调整后,钱包会不会大出血? -
本地跑起来需要多少显存? -
想写代码 Agent,格式怎么拼?
以上问题,下文一次说清。
1. DeepSeek-V3.1 是什么?
一句话:DeepSeek-V3.1 是一个能“边想边说”也能“直接回答”的双模式大模型。
它把“思考链路”和“秒回答案”装进同一个权重文件,通过一段叫 chat template 的小脚本切换。
官方简称 | 含义 | 类比 |
---|---|---|
DeepSeek-V3.1-NonThinking | 非思考模式 | 像老练客服,直接给答案 |
DeepSeek-V3.1-Thinking | 思考模式 | 像学霸草稿纸,先写推理再给结论 |
2. 2025-09-06 起的新价格
平台调用费从 9 月 6 日 00:00(北京时间)起执行新价:
场景 | 输入(百万 tokens) | 输出(百万 tokens) |
---|---|---|
缓存命中 | 0.5 元 | 12 元 |
缓存未命中 | 4 元 | 12 元 |
换算成更直观的例子:
-
一篇 3000 字中文文章 ≈ 4k tokens -
你发 250 篇这样的文章,输入成本 1 元;要让模型回 250 篇,输出成本 3 元。 -
如果缓存命中,成本再打 1/8 折。
3. 模型能力速查表
官方一共跑了 17 项基准,我把分数翻译成“能不能打”的语言。
任务类别 | 场景 | V3.1-NonThinking | V3.1-Thinking | 上一代 V3 | R1-0528 |
---|---|---|---|---|---|
通识问答 | MMLU-Redux | 91.8 | 93.7 | 90.5 | 93.4 |
多步推理 | GPQA-Diamond | 74.9 | 80.1 | 68.4 | 81.0 |
数学竞赛 | AIME 2024 | 66.3 | 93.1 | 59.4 | 91.4 |
代码竞赛 | LiveCodeBench | 56.4 | 74.8 | 43.0 | 73.3 |
Agent 写代码 | SWE Verified | 66.0 | — | 45.4 | 44.6 |
搜索 Agent | BrowseComp | — | 30.0 | — | 8.9 |
读表技巧:
-
同任务、同列,数字越高越好。 -
“—” 表示官方没跑或不适配。 -
如果你做数学或代码 Agent,直接上 Thinking 模式,分数猛涨 20-30 分很常见。
4. 双模式到底怎么切?
官方用一段“聊天模板”实现。
模板不神秘,就是一段带占位符的字符串。
把占位符换成你的对话历史,模型就能分辨“我该不该先想”。
4.1 非思考模式模板
单轮对话
<|begin▁of▁sentence|>{system prompt}<|User|>{query}<|Assistant|></think>
注意末尾多了一个 </think>
,告诉模型“别多想”。
多轮对话
<|begin▁of▁sentence|>{system prompt}<|User|>{query}<|Assistant|></think>{response}<|end▁of▁sentence|>...<|User|>{query}<|Assistant|></think>{response}
每次用户提问,都把上文贴上去,结尾再补 <|User|>...<|Assistant|></think>
。
4.2 思考模式模板
单轮对话
<|begin▁of▁sentence|>{system prompt}<|User|>{query}<|Assistant|><think>
把 </think>
换成 <think>
,模型就知道“我要先打草稿”。
多轮对话
与非思考模式共用同一套历史拼接方式,区别只在最后一轮的 <think>
标记。
5. 工具调用:让模型“动手”而非“动嘴”
DeepSeek-V3.1 支持两种工具调用:
-
ToolCall:非思考模式专用,适合一次性函数调用 -
Search-Agent:思考模式专用,可做多轮搜索
5.1 ToolCall 格式(非思考模式)
系统提示里插入一段工具描述,例如:
## Tools
You have access to the following tools:
### get_weather
Description: 查询天气
Parameters: {"location": {"type": "string"}}
用户提问后,模型返回:
<|tool▁calls▁begin|><|tool▁call▁begin|>get_weather<|tool▁sep|>{"location": "北京"}<|tool▁call▁end|><|tool▁calls▁end|>
你拿到 JSON 后调用本地函数,再把结果塞回对话即可。
5.2 Search-Agent 格式(思考模式)
适合需要多次检索的复杂问题。
官方提供了 search_tool_trajectory.html
和 search_python_tool_trajectory.html
两个示例,核心思路:
-
用户提问 -
模型生成搜索 query -
你调用搜索 API 返回网页 -
把网页内容作为观察结果贴回对话 -
循环直到模型说“我已得到最终答案”
6. 本地部署:硬件与代码
DeepSeek-V3.1 的模型结构与 V3 完全一致,所以官方没有再写一份冗长教程。
如果本地 GPU 能跑 V3,就能无缝跑 V3.1。
6.1 最小硬件门槛
精度 | 显存 | 说明 |
---|---|---|
FP8 | 80 GB | 官方推荐,速度最快 |
BF16 | 160 GB | 无 FP8 硬件时的备选 |
8-bit 量化 | 48 GB | 自己用 bitsandbytes 压,效果略降 |
“
如果你只有 24 GB 游戏卡,可以尝试 4-bit 量化,但需要自己改配置,官方没保证效果。
6.2 三行代码跑起来
from transformers import AutoTokenizer, AutoModelForCausalLM
import torch
model_path = "deepseek-ai/DeepSeek-V3.1"
tokenizer = AutoTokenizer.from_pretrained(model_path)
model = AutoModelForCausalLM.from_pretrained(
model_path,
torch_dtype=torch.bfloat16,
device_map="auto"
)
inputs = tokenizer("中国的首都是哪里?", return_tensors="pt").to(model.device)
outputs = model.generate(**inputs, max_new_tokens=50)
print(tokenizer.decode(outputs[0]))
7. 常见疑问 FAQ
Q1:我能不能只下载权重,不装 transformers?
A:可以,但你需要自己写推理脚本解析 tokenizer_config.json
和权重文件,工作量不小。
Q2:思考模式会不会更贵?
A:官方按 token 收费,思考模式输出更长,费用自然更高。是否划算取决于任务,数学、代码类任务收益明显。
Q3:缓存命中怎么触发?
A:平台层面对“完全一样”的请求做缓存。换行、空格、大小写变了都算新请求。
Q4:商用要额外授权吗?
A:权重以 MIT 许可证放出,商用、改权重、再分发都行,只要保留许可证文件。
8. 一张图总结全文
9. 写在最后
DeepSeek-V3.1 不是“万能神药”,它只是在“效率”和“能力”之间找到了一条更平滑的折中。
读完本文,你至少应该能判断:
-
自己的任务值不值得开思考模式 -
预算够不够 -
本地显卡跑不跑得起
下一步,打开 Hugging Face 仓库,下载权重,跑通第一行 print("hello, DeepSeek")
。
真正的学习,从动手那一刻才开始。