DeepSeek-V3.1 是一個混合「思考/非思考」的 MoE 語言模型(總計 671B,每個 token 激活約 37B),如果使用合適的提供者/量化和工具,可以在本地運行。下面我將解釋 DeepSeek-V3.1 的定義、硬體/軟體需求、本地運行逐步教學(Ollama + llama.cpp 範例)以及如何 部署並使用思維模式 (“ <think>/</think> 您可以使用聊天範本 (http://www.microsoft.com/china/chattemplate) 複製/貼上程式碼範例。
什麼是DeepSeek-V3.1?
DeepSeek-V3.1 是 DeepSeek MoE(混合專家)系列的 v3.1 版本。它被設計為一種混合推理模型,支援兩種對話模板/模式—— 思維 不思考 ——透過更改聊天模板,從同一檢查點進行改進。該模型架構沿用了 DeepSeek-V3 MoE 設計(總共 671 億個參數;每個用於推理的 token 激活約 37 億個參數),並在工具使用、代理技能和長上下文處理方面增加了訓練後改進。
快速功能亮點
- 雜交種 思考/非思考 模式(透過聊天模板標記切換)。
- MoE 架構:總參數數量較大,但每個令牌啟動的參數數量有限(提高效率)。
- 訓練後提升工具呼叫和代理工作流程(模型資產中記錄的工具呼叫格式和代理範本)。
我需要什麼才能在本地運行 DeepSeek-V3.1?
運行 充分 DeepSeek-V3.1(原始檢查點)是重量級的-訓練/檢查點的儲存和推理編排並非易事。但有一些切實可行的方法:
硬體
- 完全分佈式推理(研究/集群):多個高記憶體 GPU(A100/H800 等級)或具有模型平行服務的 GPU 叢集(通常用於 600B+ 檢查點)。僅在運行生產研究集群時使用。
- 實用的本地選項: 使用 啟動參數 視角(約 37B 已啟動)或量化 GGUF/1 位動態建構。社群量化(1 位元動態/GGUF)顯著降低了磁碟和記憶體需求——例如,社群貼文報告稱,量化版本將 720GB 的檢查點壓縮到約 170GB 的 GGUF。這使得資源充足的桌上型電腦/伺服器能夠進行本機單一伺服器 GPU 推理。
底線: 預計會有大型模型工作流程(量化工件需要數十到數百 GB 的磁碟);對於 GPU VRAM,使用量化變體並目標≥24–48GB VRAM 以獲得合理的吞吐量;否則使用 CPU+swap 並進行效能權衡。
軟體和工具
Python 3.10+(用於轉換器/標記器工具和自訂腳本)。
transformers (用於標記器和輔助函數)—模型卡展示了使用 transformers.AutoTokenizer.
一個或多個本地推理運行時:
- 奧拉馬 (簡單的:
ollama pull/ollama run整合;Ollama 上的某些 DeepSeek 建置需要預發布版本,請查看 model/ollama 說明)。 Ollama 已成為社區模型的標準本地運行器。 - llama.cpp / ggml 堆疊或
llama-server適用於 GGUF 量化文件 — 非常適合直接執行 GGUF。 - 文本生成推理 / Triton / FlashAttention 堆疊 用於更高效能的 GPU 推理(進階設定)。
磁碟:模型檔案的可用空間較大(根據量化,數十 → 數百 GB)。
模型工件(取得哪個檔案)
- 官方安全張量 / BF16 / FP8 / GGUF 變體:Hugging Face 託管 V3.1 模型工件和多個量化。如果您需要 GGUF/量化文件
llama.cpp,尋找社區量化版本(或從 safetensors → GGUF 的轉換腳本)——模型卡列出了量化變體。
如何準備局部推理模型?
以下是建議的準備步驟,按從簡單到高級的順序排列。
步驟 1 — 選擇運行時(建議)
- 初學者/快速測驗: Ollama — 最低配置:下載、執行模型、呼叫 API。注意:部分 DeepSeek-V3.1 版本指出,某些特定功能需要 Ollama v0.11.7 版本。
- 高階/低階控制:
llama.cpp+ GGUF 量化(如果 GGUF 量化可用)。這為您提供直接的推理控制和集成llama-server.
步驟 2 — 下載模型
如果您使用 Ollama:
# install ollama (see https://ollama.com/docs)
# Pull the model (this downloads the model to your machine)
ollama pull deepseek-ai/DeepSeek-V3.1
# or a specific tag: ollama pull deepseek-ai/DeepSeek-V3.1:quant-q4_0
(奧拉瑪的 run 如果不存在則會自動拉取; pull 讓您控制時間。 )
如果你使用 Hugging Face + llama.cpp:
# Example: download via huggingface-cli or hf_transfer
pip install huggingface_hub
hf_hub_download(repo_id="deepseek-ai/DeepSeek-V3.1", filename="DeepSeek-V3.1.gguf")
# or use a community quant file (gguf) referenced on the Hugging Face model page
Hugging Face 在模型卡上列出了模型工件、模板和量化。
步驟 3 — 轉換/量化(可選)
如果你只找到 safetensors 或 BF16 工件,但需要 GGUF llama.cpp,使用轉換腳本 llama.cpp (或使用社區工具)進行轉換 → 量化。社群中有一些工具可用於 1 位元動態量化,在保持精確度的同時縮小檔案大小;請參閱社群帖子,報告檔案大小縮減至約 170GB。
如何在本地實際運行 DeepSeek-V3.1? (實際運行教程)
我會展示 奧拉馬 (簡單,推薦)和 調用.cpp (GGUF)範例以及使用模型卡標記器助理的簡短 Python 範例。
A — 使用 Ollama 運行(快速啟動)
- 安裝 Ollama(按照官方說明)。
- 拉取並運行模型:
# pull model to disk (optional; run will pull automatically)
ollama pull deepseek-ai/DeepSeek-V3.1
# start an interactive session (runs model and exposes local API)
ollama run deepseek-ai/DeepSeek-V3.1
- 向本機 Ollama 伺服器發出 HTTP 請求:
# curl usage example (local Ollama server usually listens on port 11434)
curl -sS -X POST 'http://localhost:11434/api/generate' \
-H 'Content-Type: application/json' \
-d '{
"model":"deepseek-ai/DeepSeek-V3.1",
"prompt":"Explain the difference between thinking and non-thinking mode in DeepSeek.",
"max_tokens":256
}'
Ollama 的 CLI 和 API 模式設計得非常簡單: ollama run 如果需要,將會拉取並啟動模型伺服器。請參閱 Ollama 文件和模型頁面,以取得記憶體提示以及準確的模型名稱/標籤。
B — 透過 llama.cpp 運行量化的 GGUF
- 建構
llama.cpp使用 CUDA(可選)或 CPU:
git clone https://github.com/ggerganov/llama.cpp
cd llama.cpp
# for CUDA:
make clean && make LLAMA_CUBLAS=1
# or CPU only:
make
- 將模型GGUF檔案放在一個路徑下並運行:
./main -m /path/to/DeepSeek-V3.1.q4_K_M.gguf \
-p "Explain how to enable thinking mode." \
--temp 0.2 --n_predict 512
- 對於伺服器使用,
llama-server(社群專案)可以公開一個 HTTP 端點:
llama-server -m /path/to/DeepSeek-V3.1.q4_K_M.gguf
# then POST to the server like:
curl -X POST "http://localhost:8080/api/v1/generate" -d '{"prompt":"Hello","max_tokens":200}'
使用社群 GGUF 量化(q4/q8/1 位元動態)以適應 GPU/CPU 預算; llama.cpp repo 提供轉換工具和指導。
使用標記器 + 聊天模板的 C — Python 範例
Hugging Face 模型卡提供了 tokenizer.apply_chat_template 助手並示範如何編碼對話 thinking=True。這是一個根據模型卡改編的最小 Python 範例:
from transformers import AutoTokenizer
tokenizer = AutoTokenizer.from_pretrained("deepseek-ai/DeepSeek-V3.1")
messages = [
{"role": "system", "content": "You are a helpful assistant"},
{"role": "user", "content": "Who are you?"},
{"role": "assistant", "content": "<think>Hmm</think>I am DeepSeek"},
{"role": "user", "content": "1+1=?"}
]
# apply thinking chat template
s = tokenizer.apply_chat_template(messages, tokenize=False, thinking=True, add_generation_prompt=True)
print(s) # the template includes the special <think> token placement
然後,您可以根據您的堆疊將標記化的提示輸入到推理執行時(Ollama/llama.cpp/TGI)中。
思考模式如何運作以及如何在本地部署它?
DeepSeek-V3.1 用途 聊天模板 包含特殊思維標記(例如, <think> </think>)。 該 模板 確定模型處於思考模式或非思考模式:
- 不思考 模板位置
</think>在助手前綴中,它指示模型產生直接回應(非思考中支援工具呼叫格式)。 - 思維 模板位置
<think>在輔助前綴中,這使得模型輸出內部的思路鍊式中間訊號(模型被訓練使用該標記序列進行內部推理,並產生更高品質的多步驟答案)。 Hugging Face 模型卡記錄了這些精確的標記,以及tokenizer.apply_chat_template(..., thinking=True)API。
程序化切換(範例)
A — 使用標記器(Python):
# thinking=True or thinking=False changes how the prompt is formatted
prompt_thinking = tokenizer.apply_chat_template(messages, thinking=True, add_generation_prompt=True)
prompt_non_thinking = tokenizer.apply_chat_template(messages, thinking=False, add_generation_prompt=True)
餵寵物用具 prompt_thinking 到你的推理運行時來獲取思考行為。
B — 使用原始提示(llama.cpp / 手冊):
插入 <think> 在助手輪到你時提示:
<|begin_of_sentence|>You are a helpful assistant<|User|>How to optimize this code?<|Assistant|><think>
(該精確的令牌框架位於模型卡中 - 如果您使用原始模板,則必須注意間距和特殊標記。)
C — 使用 Ollama(UI 切換):
DeepSeek 官方網頁示範和發行說明中提到了一個「DeepThink」切換按鈕,用於在託管 UI 中切換模式。在本地,Ollama 或您的應用程式應該透過切換聊天範本(即,在兩種標記化形式之間切換您發送到運行時的提示)來複製該行為。如果您透過 Ollama 運行 DeepSeek,則可以在應用程式中實現此功能,方法是維護兩個提示模板(思考型和非思考型),並透過 Ollama API 進行切換。
如何將思維模式部署為代理(工具呼叫、程式碼代理)?
DeepSeek-V3.1文檔 工具調用 代理人 模型資產中的範本。該模型要求工具以特定的 JSON/指令格式呈現,並支援在單次呼叫中連結多個工具呼叫(前提是您必須遵循模型卡中描述的包裝器令牌)。
範例:簡單的工具呼叫包裝器(偽)
該模型指定了一個工具描述符塊和一個嚴格的 tool_calls_begin / tool_call_begin 格式。一個最小的例子(概念):
## Tools
You have access to the following tools:
### web_search
Description: Query the web
Parameters: {"q": "string"}
<|begin_of_sentence|>{system prompt}
## Tools
...tool descriptions...
<|User|>Find the population of Tokyo<|Assistant|></think>
<|tool_calls_begin|><|tool_call_begin|>web_search<|tool_sep|>{"q":"population of Tokyo 2025"}<|tool_call_end|><|tool_calls_end|>
然後,工具輸出應在下一輪中按照模型規定的格式回饋給模型(參見 assets/search_tool_trajectory.html 在模型頁面上查看具體流程)。實作代理程式需要程式化的編排:呼叫工具 → 擷取結果 → 依照範本規定將結果重新註入聊天上下文 → 再次呼叫模型。
實用技巧、故障排除和安全注意事項(我該注意什麼?)
- 令牌模板是嚴格的。 使用模型的
tokenizer.apply_chat_template或複製精確的<think>/</think>如下圖所示的標記。不正確的間距或缺失的標記將改變模型行為。 - 工具格式必須是有效的 JSON。 此模型將工具參數解析為 JSON - 無效的 JSON 將中斷工具呼叫。
- 量化權衡。 1 位元動態/激進量化會縮減儲存空間和 RAM,但可能會略微改變數值保真度。請在您的工作負載上進行測試。社群中存在一些可降低 80% 磁碟使用率的量化方法(範例報告:720GB → ~170GB),但請務必根據提示進行驗證。
- Ollama 相容性。 一些 DeepSeek 變體指出 Ollama v0.11.7 是預發布功能所必需的 - 請查看 Ollama 模型頁面並進行相應更新。
端到端範例:使用思考模式在本地運行 DeepSeek-V3.1(迷你演練)
- 安裝Ollama並拉取模型:
# install ollama per docs, then:
ollama pull deepseek-ai/DeepSeek-V3.1
ollama run deepseek-ai/DeepSeek-V3.1 &
- 使用 Python 標記器編寫思考提示:
from transformers import AutoTokenizer
tokenizer = AutoTokenizer.from_pretrained("deepseek-ai/DeepSeek-V3.1")
msgs = [
{"role":"system","content":"You are a helpful assistant."},
{"role":"user","content":"Plan a multi-step strategy to prototype a mobile app in 2 weeks."}
]
prompt = tokenizer.apply_chat_template(msgs, thinking=True, add_generation_prompt=True)
import requests
resp = requests.post("http://localhost:11434/api/generate", json={
"model": "deepseek-ai/DeepSeek-V3.1",
"prompt": prompt,
"max_tokens": 400
})
print(resp.json())
- 如果模型以 toolcall 格式傳回工具調用,則解析 JSON 並執行該工具,然後根據模型卡範本將結果注入下一則訊息。
您應該如何選擇部署路徑?
- 如果您想要最快的實驗路徑: 使用 奧拉馬 以及 Hugging Face 模型卡的範例。 Ollama 隱藏了許多基礎架構細節,並提供了本機 HTTP API。
- 如果您需要更低的成本/更高的便攜性: 使用社區 GGUF量化 工件並運行
llama.cpporllama-server。量化可以節省磁碟和內存,但會降低測試準確性。 - 如果您正在建立代理或工具: 依照模型卡的 工具調用 代理人 模板正是如此;將工具輸出編排回模型上下文。
入門
CometAPI 是一個統一的 API 平台,它將來自領先供應商(例如 OpenAI 的 GPT 系列、Google 的 Gemini、Anthropic 的 Claude、Midjourney、Suno 等)的 500 多個 AI 模型聚合到一個開發者友好的介面中。透過提供一致的身份驗證、請求格式和回應處理,CometAPI 顯著簡化了將 AI 功能整合到您的應用程式中的過程。無論您是建立聊天機器人、影像產生器、音樂作曲家,還是資料驅動的分析流程,CometAPI 都能讓您更快地迭代、控製成本,並保持與供應商的兼容性——同時也能充分利用整個 AI 生態系統的最新突破。
開發人員可以訪問 深尋V3.1 透過 CometAPI,列出的最新模型版本截至本文發布之日。首先,探索模型的功能 游乐场 並諮詢 API指南 以獲得詳細說明。造訪前請確保您已經登入CometAPI並取得API金鑰。 彗星API 提供遠低於官方價格的價格,幫助您整合。
結論
DeepSeek-V3.1 帶來了一個實用的混合推理理念(單檢查點 + 模板化思維行為),只要滿足聊天模板和工具要求,就能輕鬆進行鍊式推理和代理工具的使用實驗。首先使用 Hugging Face 模型卡和 DeepSeek 發行說明,選擇一個本地運行時(為簡單起見,選擇 Ollama, llama.cpp 用於控制),並測試量化建置以進行實際的本地部署。



