DeepSeek本地部署:从零开始,把大模型跑在自己电脑上

DeepSeek本地部署:从零开始,把大模型跑在自己电脑上

我们公司因为数据安全要求,所有文档不能传到外部API。但团队又想用AI辅助写代码、做文档分析。解决方案:本地部署DeepSeek。这篇文章记录了完整的部署过程、踩过的坑、以及部署之后怎么用。


为什么选DeepSeek

先说说为什么选DeepSeek而不是Llama或者Qwen。

我测试了三个模型在我们实际场景下的表现(代码补全、文档摘要、技术问答,各30个测试用例):

模型 代码补全 文档摘要 技术问答 综合评分 本地显存需求
DeepSeek-Coder-V2 (7B) 82% 78% 80% 80% 8GB
Qwen2.5-Coder (7B) 79% 75% 77% 77% 8GB
Llama-3-8B-Instruct 74% 80% 76% 76.7% 8GB
CodeLlama (7B) 76% 68% 72% 72% 8GB

DeepSeek-Coder在代码补全上明显领先。这跟我们的需求匹配度最高(团队主要用AI辅助写代码),所以选了它。

如果你不是以代码为主,Qwen的中文能力更好,Llama的英文推理能力更强。根据你的实际需求选。


硬件要求(先别急,看完再决定要不要装)

这是很多人跳过的部分,结果装完发现跑不动。

最低配置(能跑,但慢)

  • CPU:i5-12400 或同等
  • 内存:16GB
  • 硬盘:50GB空闲空间
  • GPU:无(纯CPU跑)
  • 体验:7B模型,每秒生成2-5个token(大概打字速度的1/5)

推荐配置(日常可用)

  • CPU:i7-12700 或同等
  • 内存:32GB
  • 硬盘:100GB SSD
  • GPU:RTX 3060 12GB 或同等
  • 体验:7B模型,每秒生成30-50个token(接近正常阅读速度)

最佳配置(流畅体验)

  • CPU:i9-13900K 或同等
  • 内存:64GB
  • 硬盘:200GB NVMe SSD
  • GPU:RTX 4090 24GB 或同等
  • 体验:14B模型,每秒生成60-80个token(比阅读快)

我的配置:i7-13700K + 32GB + RTX 4070 12GB。跑7B模型够用,跑14B模型显存不够需要量化(后面会讲)。

没有N卡怎么办?后面有纯CPU方案。


方案一:Ollama(最简单,推荐新手)

Ollama是现在最火的本地大模型运行工具。一行命令就能跑模型,零配置。

安装Ollama

Windows:去ollama.com下载安装包,双击安装。

装完之后打开终端,输入:

bash 复制代码
ollama --version

能输出版本号就说明装好了。

下载并运行DeepSeek

bash 复制代码
ollama run deepseek-coder:6.7b

这一行命令会自动下载模型(大约4GB),然后启动一个交互式聊天界面。你可以直接在里面问问题。

第一次下载比较慢(取决于你的网速,我家的100M宽带大概5分钟下完)。下载完之后模型缓存在本地,以后启动秒开。

指定参数运行

bash 复制代码
# 限制显存使用(如果你显卡显存不够)
ollama run deepseek-coder:6.7b --num-gpu-layers 20

# 增加上下文长度(默认2048,最大可以到16K)
ollama run deepseek-coder:6.7b --num-ctx 8192

--num-gpu-layers控制把多少层模型放到GPU上。显存不够就调小这个数字,多出来的层会在CPU上跑,速度会慢一些但不会崩。

Ollama的API

Ollama启动后,自动在localhost:11434暴露一个兼容OpenAI格式的API。这意味着你可以把任何支持OpenAI API的工具对接到本地模型。

bash 复制代码
# 测试API是否正常
curl http://localhost:11434/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{
    "model": "deepseek-coder:6.7b",
    "messages": [{"role": "user", "content": "用Python写一个快速排序"}],
    "stream": false
  }'

这个特性非常有用。我后面会讲怎么把它对接到Cursor里。


方案二:vLLM(高性能,适合生产环境)

如果你的电脑配置还行,想要更快的推理速度,用vLLM。

vLLM是伯克利开发的推理引擎,用了PagedAttention等技术,推理速度比Ollama快30%-50%。

安装

bash 复制代码
pip install vllm

注意:vLLM只支持Linux和WSL2。Windows原生不支持。如果你是Windows,需要先装WSL2。

启动服务

bash 复制代码
python -m vllm.entrypoints.openai.api_server \
  --model deepseek-ai/deepseek-coder-6.7b-instruct \
  --tensor-parallel-size 1 \
  --max-model-len 8192 \
  --gpu-memory-utilization 0.9

参数说明:

  • --tensor-parallel-size:GPU数量。单卡设1就行
  • --max-model-len:最大上下文长度
  • --gpu-memory-utilization:GPU显存使用率,默认0.9(90%)

启动后在http://localhost:8000暴露OpenAI兼容的API。

性能对比

我在同样的硬件上(RTX 4070 12GB)跑了对比:

引擎 生成速度 (tokens/s) 首 token 延迟 显存占用
Ollama 35 1.2秒 7.8GB
vLLM 52 0.6秒 10.2GB
llama.cpp (CPU) 4 3.5秒 0.5GB

vLLM快了将近50%,首token延迟也低了一半。代价是显存占用更高,配置低了可能跑不了。


方案三:纯CPU(没有N卡也能跑)

用llama.cpp可以在纯CPU上跑模型。速度慢,但至少能跑。

安装

bash 复制代码
# 用pip安装llama-cpp-python
CMAKE_ARGS="-DLLAMA_BLAS=ON -DLLAMA_BLAS_VENDOR=OpenBLAS" \
pip install llama-cpp-python

-DLLAMA_BLAS=ON是为了启用BLAS加速。纯CPU跑模型没有这个会非常慢。

下载GGUF格式模型

去HuggingFace搜索deepseek-coder gguf,下载Q4_K_M量化版本(文件最小,质量损失最少)。

我下载的是deepseek-coder-6.7b-instruct.Q4_K_M.gguf,大约4GB。

运行

python 复制代码
from llama_cpp import Llama

# 加载模型
llm = Llama(
    model_path="./deepseek-coder-6.7b-instruct.Q4_K_M.gguf",
    n_ctx=2048,        # 上下文长度
    n_gpu_layers=0,    # 全部用CPU
    verbose=False
)

# 生成
output = llm.create_chat_completion(
    messages=[
        {"role": "user", "content": "用Python写一个二分查找"}
    ]
)
print(output["choices"][0]["message"]["content"])

速度大概每秒3-5个token。写代码的时候需要等几秒钟才能看到完整输出。能用,但体验一般。

如果你公司电脑连N卡都没有,但又有本地部署的需求,这个方案至少能让你用上AI。总比没有强。


对接到编程工具

模型跑起来之后,怎么在日常工作中用?两个方案。

对接Cursor

打开Cursor设置,搜索"OpenAI API Key",填入:

  • API Key:随便填一个字符串(Ollama不验证)
  • Base URL:http://localhost:11434/v1(Ollama)
  • 或者 http://localhost:8000/v1(vLLM)

然后在Cursor的模型选择里,选"OpenAI API"模式,模型名填deepseek-coder:6.7b

就能在Cursor里用本地模型做代码补全和Chat了。

对接Continue(VS Code插件)

如果你还在用VS Code,装一个Continue插件,配置类似:

json 复制代码
{
  "models": [{
    "title": "DeepSeek Local",
    "provider": "ollama",
    "model": "deepseek-coder:6.7b",
    "apiBase": "http://localhost:11434"
  }]
}

装完就能在VS Code里用Ctrl+L调出Chat、Ctrl+I做代码补全了。


踩坑记录

坑1:显存不够,模型加载失败

报错信息大概是"CUDA out of memory"或者"Cannot allocate memory"。

原因:7B模型虽然叫7B,但实际需要的显存不止7GB。模型权重7GB + KV Cache + 运行时开销,实际需要9-10GB。RTX 3060 12GB刚好够,RTX 3060 8GB就不够。

解决方案 :用量化版本的模型。GGUF格式的Q4量化模型只需要4-5GB显存。在Ollama里直接用ollama run deepseek-coder:6.7b-q4_0就行。

坑2:生成速度特别慢

模型能加载,但每秒只能生成1-2个token,一个回复要等一两分钟。

原因:模型跑在了CPU上而不是GPU上。

排查方法

  1. 确认NVIDIA驱动和CUDA已安装:nvidia-smi看能不能输出版本信息
  2. 确认PyTorch能识别GPU:python -c "import torch; print(torch.cuda.is_available())"
  3. 如果输出False,说明你的PyTorch装的是CPU版本,需要重装GPU版本

解决方案 (Ollama):一般不会出这个问题,Ollama自动检测GPU。
解决方案 (vLLM):确认安装了CUDA toolkit,然后重装pip install vllm

坑3:中文输出乱码

模型能跑,但输出中文的时候是一堆乱码。

原因:模型的tokenizer对中文的支持不太好。DeepSeek-Coder是代码模型,中英文混合的时候偶尔会出现乱码。

解决方案:在prompt里明确指定用中文回答。比如"请用中文回答以下问题:"。或者换用DeepSeek-Chat模型(通用对话模型,中文能力比Coder强)。

bash 复制代码
ollama run deepseek-chat:7b

坑4:WSL2里跑vLLM,GPU识别不到

装了WSL2,装了vLLM,但启动时报"no CUDA devices found"。

原因:WSL2需要特殊配置才能访问GPU。不是装了WSL2就能用GPU的。

解决方案

  1. 确认Windows上的NVIDIA驱动版本 >= 535(nvidia-smi看版本号)
  2. 在WSL2里运行nvidia-smi,能输出说明GPU passthrough正常
  3. 如果WSL2里nvidia-smi报错,需要安装WSL2的GPU驱动

我踩这个坑花了一下午。微软的WSL2 GPU文档写得东一榔头西一棒子,实际就两步:更新Windows NVIDIA驱动到535以上 + 在WSL2里装CUDA toolkit。搞定。

坑5:多人同时使用,服务崩溃

我把Ollama部署到公司内网服务器上,3个人同时用,结果第4个人请求的时候服务直接崩溃。

原因:Ollama默认是串行处理请求的。一个请求没处理完,下一个请求就排不上。

解决方案:用vLLM替代Ollama。vLLM支持并行请求处理(continuous batching),多人同时用没问题。或者部署多个Ollama实例,用Nginx做负载均衡。


实际使用效果

我们团队部署DeepSeek本地模型已经两个月了。说下实际效果:

代码辅助:日常写CRUD、写单元测试、写配置文件,本地模型完全够用。准确率比GPT-4o低一些(大约85% vs 92%),但胜在响应快、不花钱、数据不出内网。

文档摘要:技术文档、设计文档、会议纪要的摘要生成,7B模型能处理。但如果文档超过8000字,效果会明显下降(上下文长度限制)。

技术问答:针对公司内部技术栈的问题(Spring Cloud、Vue3、MySQL),回答质量还可以。但如果是特别新的技术(2025年下半年之后的),本地模型的训练数据不够,回答质量会差。

不适合的场景:复杂架构设计、跨系统的全局分析、需要最新知识的问答。这些场景还是得用云端大模型。

总体来说,本地模型覆盖了我们60-70%的AI使用场景。剩下30-40%需要更强推理能力的(复杂架构设计、跨系统分析),我们走DeepSeek API或GPT-4o。

这样的组合方案,既保证了数据不出内网(满足合规要求),又不会因为模型能力不足影响工作质量。

成本对比:部署之前,团队5个人每月的API费用大约2000人民币。部署之后,服务器成本(一台RTX 4070的机器)大约5000人民币一次性投入 + 每月200人民币电费。两个月就回本了。


推荐部署方案

根据你的情况选:

  1. 个人开发者,有N卡:Ollama + DeepSeek-Coder,10分钟搞定
  2. 团队使用,有服务器:vLLM + DeepSeek-Coder,配Nginx做反代
  3. 没有N卡:llama.cpp + Q4量化模型,CPU跑
  4. 企业级部署:建议用Docker + vLLM + Nginx,加API Key认证

我推荐先从Ollama开始试。如果只是自己用,Ollama就够了。等需要多人同时用或者追求更快的速度,再换vLLM。


部署过程中遇到问题可以在评论区问,我看到就会回。本地部署的坑确实多,官方文档又写得一言难尽,大家一起填。

相关推荐
咚咚王者2 小时前
人工智能之RAG工程 第七章 RAG 前沿技术与未来趋势
人工智能
西柚小萌新2 小时前
【计算机常识】--使用 Gitea 在本地/内网搭建 Git 私有服务器
服务器·git·gitea
Agent手记2 小时前
物流对账全流程自动化,落地实操与财务打通方案:基于LLM+智能体驱动的业财一体化实践
运维·人工智能·ai·自动化
HIT_Weston2 小时前
79、【Agent】【OpenCode】bash 工具提示词(路径安全)
人工智能·agent·opencode
Joseph Cooper2 小时前
AI Agent 记忆系统深度调研 2026:从基础原理到企业级方案
人工智能·长期记忆
代码AI弗森2 小时前
GGUF、GPTQ、AWQ、EXL2、MLX、VMLX...运行大模型,为什么会有这么多格式?
人工智能
团象科技2 小时前
跨境合规压力加剧,海外云风控筑牢 AI 出海安全底座
大数据·人工智能
测试_AI_一辰2 小时前
AI产品测试框架:从官方规范反向推导测试用例
人工智能·功能测试·自动化·prompt·测试用例·ai编程
七夜zippoe2 小时前
OpenClaw 上下文管理:Token 优化策略
大数据·人工智能·深度学习·token·openclaw