Windows 10/11 本地部署 DeepSeek R1 实操指南
一 方案总览与版本选择
1) Ollama + 图形客户端(如 Open WebUI、ChatBox),上手最快,适合零基础与离线场景;
2) Python + Transformers 自建 API,可控性更强,适合二次开发与集成。
二 方案一 Ollama 极速部署(推荐)
ollama --version,出现版本号即成功。ollama run deepseek-r1:1.5b(自动下载并进入对话);ollama list。ollama serve 启动本地服务(默认监听 127.0.0.1:11434),再用 ChatBox 连接测试。curl http://localhost:11434/api/generate -d "{\"model\":\"deepseek-r1\",\"prompt\":\"Hello\"}";netstat -ano | findstr 11434;{"max_concurrent_requests": 2, "gpu_layers": 30}。三 方案二 Python Transformers 自建 API(进阶)
nvcc --version、nvidia-smi。pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118;pip install transformers;from transformers import AutoModelForCausalLM, AutoTokenizer
import torch
model = AutoModelForCausalLM.from_pretrained(
"deepseek-ai/deepseek-r1-7b",
torch_dtype=torch.float16,
device_map="auto",
load_in_8bit=True
)
tokenizer = AutoTokenizer.from_pretrained("deepseek-ai/deepseek-r1-7b")from_pretrained("C:/models/deepseek_r1")。from fastapi import FastAPI
from transformers import AutoModelForCausalLM, AutoTokenizer
import torch
app = FastAPI()
model = AutoModelForCausalLM.from_pretrained("deepseek-ai/deepseek-r1-7b", torch_dtype=torch.float16, device_map="auto", load_in_8bit=True)
tokenizer = AutoTokenizer.from_pretrained("deepseek-ai/deepseek-r1-7b")
@app.post("/generate")
async def generate(prompt: str):
inputs = tokenizer(prompt, return_tensors="pt").to("cuda")
outputs = model.generate(**inputs, max_length=512)
return {"text": tokenizer.decode(outputs[0], skip_special_tokens=True)}
# 运行:uvicorn main:app --reload --host 0.0.0.0 --port 8000torch.cuda.amp 混合精度、do_sample=False 提升稳定吞吐;四 性能优化与常见问题
max_concurrent_requests,适度设置 gpu_layers;netstat -ano | findstr 11434 查杀占用进程;ollama serve 已运行、防火墙放行 11434;gpu_layers、启用 8-bit、降低 max_length 或改用更小模型。