Ollama 部署 DeepSeek

最快能在十分鐘內跑起來的方式。適合個人試用與小團隊內部使用。

安裝

# Linux / macOS
curl -fsSL https://ollama.com/install.sh | sh

# Windows
# 下載安裝包:https://ollama.com/download

# 確認安裝
ollama --version

拉取模型

# 查看可用版本
ollama list

# 拉取 DeepSeek 系列(版本名以官方庫為準)
ollama pull deepseek-r1:7b
ollama pull deepseek-r1:32b

# 直接對話
ollama run deepseek-r1:32b

關鍵:上下文長度預設太小

這是 OLLAMA 最常見的坑。 預設上下文通常只有 2048 或 4096 tokens,你貼一份長文進去, 模型會「假裝看完了」但其實只讀了前兩千字。必須手動調大。
# 方法一:啟動時指定
OLLAMA_CONTEXT_LENGTH=32768 ollama serve

# 方法二:Modelfile 自訂
# 建立 Modelfile:
FROM deepseek-r1:32b
PARAMETER num_ctx 32768

# 然後
ollama create my-deepseek -f Modelfile
ollama run my-deepseek

用 API 調用

# Ollama 預設在 11434 提供 OpenAI 相容接口
curl http://localhost:11434/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{
    "model": "deepseek-r1:32b",
    "messages": [{"role":"user","content":"你好"}]
  }'

因為相容 OpenAI 格式,原來的程式只要改 base_url 就能切換到本地:

from openai import OpenAI

client = OpenAI(
    base_url="http://localhost:11434/v1",
    api_key="ollama",  # 本地不需要真的 key
)
resp = client.chat.completions.create(
    model="deepseek-r1:32b",
    messages=[{"role": "user", "content": "你好"}],
)
print(resp.choices[0].message.content)

三個常見坑

Ollama 適合與不適合

適合不適合
個人試用、快速驗證想法多使用者同時併發
內部工具、單機部署需要高吞吐的生產環境
不想碰 Docker 與 CUDA需要精細控制推理參數

生產環境建議看 llama.cpp(可控性高)或 vLLM(吞吐量高)。

相關

本地部署總覽 · 顯存計算器 · 量化怎麼選 · 自建 vs API