一、方案总览与选型建议
| 方案 | 难度 | 依赖组件 | 适用场景 | 关键端口 |
|---|---|---|---|---|
| Ollama + ChatBox(零基础/离线友好) | 低 | Ollama、ChatBox | 个人/团队快速上手、本地对话、离线环境 | 11434 |
| Transformers + FastAPI(可控/可集成) | 中 | Python 3.10、PyTorch、Transformers、FastAPI、Uvicorn | 需要自建 API、对接业务系统、二次开发 | 自定义(示例 8000) |
| Cherry Studio(可视化 Web UI) | 中 | Python 3.8–3.10、Cherry Studio 项目、PyTorch | 可视化界面、文档问答/代码生成、轻量服务 | 自定义(示例 7860) |
二、方案一 Ollama + ChatBox 零基础离线部署
ollama versionollama pull deepseek-r1:latestollama create 导入,然后:ollama run deepseek-r1:7b(首次会自动解压,约5–10分钟)curl http://localhost:11434/api/generate -d "{\"model\":\"deepseek-r1\",\"prompt\":\"Hello\"}"。netstat -ano | findstr 11434 查杀占用进程;或在配置中更换端口。New-NetFirewallRule -DisplayName "Ollama API" -Direction Inbound -LocalPort 11434 -Protocol TCP -Action Allow"max_concurrent_requests": 2)或启用 GPU 加速(如 "gpu_layers": 30)。三、方案二 Transformers + FastAPI 自建推理服务
Set-ExecutionPolicy Bypass -Scope Process -Forceiex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))choco install python --version=3.10.9 -ychoco install cuda -yCUDA_PATH=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8,并将 %CUDA_PATH%\bin 加入 PATH。conda create -n deepseek_env python=3.10.9conda activate deepseek_envpip install torch==2.0.1+cu118 -f https://download.pytorch.org/whl/torch_stable.htmlpip install fastapi uvicorn transformers[torch]。deepseek_api.py):from fastapi import FastAPI
from transformers import AutoModelForCausalLM, AutoTokenizer
import torch
app = FastAPI()
model = AutoModelForCausalLM.from_pretrained("C:/models/deepseek_r1", torch_dtype=torch.float16, device_map="auto")
tokenizer = AutoTokenizer.from_pretrained("C:/models/deepseek_r1")
@app.post("/generate")
async def generate(prompt: str, max_tokens: int = 256):
inputs = tokenizer(prompt, return_tensors="pt").to("cuda")
outputs = model.generate(**inputs, max_length=inputs.input_ids.shape[1] + max_tokens, do_sample=True, temperature=0.7, top_p=0.9)
return {"text": tokenizer.decode(outputs[0], skip_special_tokens=True)}uvicorn deepseek_api:app --host 0.0.0.0 --port 8000curl -X POST http://localhost:8000/generate -H "Content-Type: application/json" -d "{\"prompt\":\"用Python写冒泡排序\",\"max_tokens\":128}"choco install nssm -y → nssm install DeepSeekService → Path 指向 python.exe,Arguments 指向脚本路径。load_in_8bit=True)或 ONNX + TensorRT 导出加速。四、方案三 Cherry Studio 可视化 Web UI 部署
git clone https://github.com/deepseek-ai/cherry-studio.gitcd cherry-studio && pip install -r requirements.txtpython -m venv cherry_env && cherry_env\Scripts\activatepip install torch torchvision --index-url https://download.pytorch.org/whl/cu118、pip install transformers>=4.34.0python app.py --model-path C:\models\deepseek_r1 --port 7860load_in_4bit=True)显著降低显存占用(精度损失约2–3%)。model = nn.DataParallel(model, device_ids=[0,1])(视硬件与框架支持)。五、常见问题与快速排查
batch_size 或 max_tokens;开启 FP16/8-bit/4-bit;必要时改用 CPU 模式或更小模型(如 1.5B/7B)。certutil -hashfile model.safetensors SHA256。New-NetFirewallRule -DisplayName "DeepSeek API" -Direction Inbound -LocalPort 8000 -Protocol TCP -Action Allow。