开头直接进入主题,不铺垫,不寒暄。DeepSeek本地部署这件事,最近问的人特别多,但大家遇到的坑出奇一致:模型下载到一半断掉、别人说Ollama一条命令搞定但自己执行就报错、Hugging Face连不上、下载完不知道放哪个目录、装完又发现显存爆了。这篇文章就把这些事全部梳理清楚,从路线选择到实操步骤到问题排查,一篇文章走完。
1. 部署前先想清楚这三件事
1.1 你需要的不是“一个DeepSeek”,而是一条完整链路
很多人以为本地部署就是把模型下下来、点一下运行,就完事了。实际操作远不止这些。你面对的是一套链路:模型权重下载 → 推理框架安装 → 模型加载与启动 → 外部工具接入。任何一个环节出问题,结果都是“跑不起来”。
这也是为什么市面上教程满天飞,但照着做依然翻车的人一大把——大多数教程只写“下载Ollama然后运行ollama run deepseek-r1”这种最理想路径,根本不提网络环境、路径、权限、依赖冲突这些细节。所以,这篇文章我不会只给一条“完美路径”,我会把三条主流路线都讲一遍,并把每条路线最容易卡住的环节单独拎出来说清楚。
1.2 三条路线,按你的硬件和用途选
本地部署DeepSeek目前大致有三条路线,我按推荐程度排列:
- Ollama + DeepSeek:最适合个人电脑、轻量使用、快速体验。安装简单,命令行管模型,Windows也能跑。
- ModelScope(魔搭)/ Hugging Face 手动下载 + vLLM / llama.cpp / transformers:适合有一定基础、需要调参、或需要私有化部署到服务器的用户。灵活度最高,但步骤多、坑也多。
- Dify + DeepSeek API / 本地模型:适合想把DeepSeek做成应用(比如知识库问答、工作流自动化)的人。它不只是“部署”,而是“应用化封装”。
选择路径的核心逻辑是:先别急着下载模型文件,先确定你要用什么承载它。
1.3 硬件底线:显存大小直接决定模型规格
DeepSeek的模型家族很庞大,从7B参数到671B参数的都有。本地部署不是越大越好,你的显卡显存决定你能跑哪个规格。
- 7B量化模型(Q4):约需 6GB 显存,这是目前个人笔记本的甜点区。
- 14B量化模型(Q4):约需 10GB 显存。
- 32B量化模型(Q4):约需 20GB 以上显存。
- 671B满血版——放弃,那不是个人电脑该想的事,你需要几块A100/H100级别的卡。
如果显存不足,可以考虑 CPU 推理,比如用 llama.cpp 加载量化后的 GGUF 格式模型,速度慢一些但能跑。想要流畅体验的,先把显存预算算明白,不然下载了模型也白搭。
2. 路线一:Ollama 一条命令跑起来,但没那么简单
2.1 为什么Ollama是首选
Ollama 之所以流行,是因为它把“模型管理”和“推理服务”做成了傻瓜式体验。你不需要懂 Python 环境、不需要手动配置 CUDA、不需要下载一堆依赖,装好后一条命令就能拉模型、跑模型。
但要注意,Ollama 解决的问题是“运行”这件事,它不解决“下载”这件事。模型文件的下载可能因为网络原因失败,而 Ollama 的下载机制比较呆,下载中断后重新执行命令不一定能续传。这也是很多人卡住的第一关。
2.2 安装Ollama的完整步骤与踩坑点
官方安装方式很简单:到 Ollama 官网下载对应系统安装包。Windows用户直接双击安装,macOS 用户同样。Linux 用户用官方脚本:
curl -fsSL https://ollama.com/install.sh | sh这里就有第一个坑:国内服务器访问这个脚本地址经常超时。如果你服务器在国外,一切顺利;如果在国内,大概率卡在这一步。解决方案:手动下载安装包,用wget或浏览器直接下载后解压安装。
安装完成后,验证一下:
ollama --version如果能输出版本号,说明安装成功。接着拉取 DeepSeek 模型:
ollama run deepseek-r1:7bOllama 会自动去它的模型库拉取并加载。这里注意一点,Ollama 上的模型名有前缀,比如deepseek-r1、deepseek-coder等,别输错了名字。你可以用ollama search deepseek查看可用模型列表。
2.3 下载卡住或太慢的处理思路
Ollama 模型文件默认存放在~/.ollama/models(Windows 在C:\Users\用户名\.ollama\models),它其实是分块下载的,最终会生成一个比较大的 blob 文件。如果你的网络下载中途断了,Ollama 命令会一直卡在进度条不动。
我踩过几次坑之后,总结了一套处理思路:
- 先
Ctrl+C取消当前下载。 - 重新执行
ollama run,看是否能续传。有时它能续上,有时会重新下载。 - 实在不行,换路线:直接从 ModelScope 下载 GGUF 格式模型文件,然后用 Ollama 的
ollama create命令创建自定义模型。这种方式虽然麻烦点,但下载稳定性可控。
还有一种更稳妥的做法:使用镜像站加速。ModelScope 提供了国内高速下载通道,后面会详细说。
2.4 使用Ollama的实用技巧
跑起来之后,Ollama 默认监听127.0.0.1:11434,它会自动启动一个 API 服务。这意味着任何支持 OpenAI API 格式的工具都可以接入。比如你现在可以用 VS Code 里的 Cline、Continue 插件,把 API 地址填成http://localhost:11434/v1,模型填deepseek-r1,就能在自己的编辑器里用 DeepSeek 写代码。
还有几个实用命令要记住:
ollama list # 查看已下载模型 ollama ps # 查看当前加载的模型 ollama stop <模型名> # 停止模型释放显存 ollama rm <模型名> # 删除模型3. 路线二:手动下载模型权重,掌握全部控制权
3.1 为什么还要手动下载
既然 Ollama 这么方便,为什么还要手动下?因为 Ollama 的模型库更新有延迟,而且你想换推理框架(比如 vLLM)时就绕不开手动下载。另外,手动下载能让你选择模型格式和量化等级,更灵活。
模型格式方面,最常见的两种:
- GGUF:llama.cpp 系列的格式,CPU、GPU都能跑,Ollama 也支持。适合单机个人使用。
- safetensors:Hugging Face 和 ModelScope 上最常见的权重格式,配合 vLLM、transformers 使用。适合服务器和多卡推理。
3.2 推荐从 ModelScope(魔搭)下载
Hugging Face 虽然是全球最大的模型社区,但国内网络环境访问极其不稳定,经常下载到一半就断。而 ModelScope 是阿里的平台,国内速度极快,而且很多热门模型的权重都会同步过去。
以 DeepSeek-R1 为例,在 ModelScope 搜索deepseek-ai/DeepSeek-R1-Distill-Qwen-7B就能找到官方权重。注意 Distill 版本是蒸馏版,参数更小,适合本地部署。完整版 R1 只有 671B,个人用户不要碰。
推荐两个下载方式:
方式一:直接网页下载
在 ModelScope 模型页面,可以批量勾选文件并下载。文件虽然多,但浏览器可以断点续传,比命令行好控制。缺点是文件数量多时要多次操作。
方式二:使用 git lfs 命令行下载
git lfs install git clone https://www.modelscope.cn/deepseek-ai/DeepSeek-R1-Distill-Qwen-7B.git这种方式适合完整拉取所有文件。但如果网络波动,git lfs 一样会断,所以需要配合重试脚本。
方式三:用 modelscope 库直接下载(推荐)
pip install modelscope modelscope download --model deepseek-ai/DeepSeek-R1-Distill-Qwen-7B --local_dir ./deepseek-r1这个命令会自动下载整个仓库并支持断点续传,是我实测最稳的方式。
3.3 用 vLLM 部署下载好的模型
下载完 safetensors 权重后,推荐用 vLLM 跑起来。vLLM 能做到高吞吐推理,支持并发请求,适合做服务和二次开发。
安装 vLLM:
pip install vllm启动模型服务:
python -m vllm.entrypoints.openai.api_server \ --model ./deepseek-r1 \ --served-model-name deepseek-r1 \ --tensor-parallel-size 1 \ --host 0.0.0.0 \ --port 8000如果显存不够,注意加--max-model-len参数控制上下文长度,默认值很高,轻量级显卡很容易 OOM。
启动成功后,它会提供 OpenAI 兼容接口,访问http://127.0.0.1:8000/v1即可。
这里有一个容易踩的坑:vLLM 对 CUDA 版本要求严格,显存要够,pytorch 版本要匹配。建议直接用官方 Docker 镜像,避免环境冲突:
docker run --runtime nvidia --gpus all \ -v /path/to/model:/model \ -p 8000:8000 \ vllm/vllm-openai:latest \ --model /model --served-model-name deepseek-r13.4 用 llama.cpp 跑 GGUF 模型的轻量方案
如果你的机器显存不大,甚至没有独立显卡,可以用 llama.cpp 跑 GGUF 格式模型。
在 GitHub 下载 llama.cpp 的 release 版本(Windows 下直接有 exe),然后运行:
llama-server -m deepseek-r1-distill-qwen-7b-q4_k_m.gguf \ --host 127.0.0.1 --port 8080它同样会启动一个 OpenAI 兼容的 API 服务。而且 llama.cpp 对 CPU 推理做了优化,没有N卡也能跑,只是慢一些。
4. 路线三:Dify 接入 DeepSeek,做个真正的应用
4.1 只是部署模型不够,还要有应用层
很多人本地部署完 DeepSeek 之后问我:“然后呢?怎么用?”单纯一个 API 端口,对普通用户来说没什么意义。Dify 就是来解决这个问题的。
Dify 是一个开源的大模型应用开发平台,你能在网页上拖拽配置 Agent、知识库、工作流,然后把你本地跑的 DeepSeek 作为模型接入进去。这样就完成了一个真正可用的 AI 应用。
4.2 本地部署 Dify
Dify 官方推荐用 Docker Compose 部署,步骤不多但要保证 Docker 环境可用:
git clone https://github.com/langgenius/dify.git cd dify/docker cp .env.example .env docker compose up -d启动后访问http://localhost/install,初始化管理员账号。这里要注意端口占用问题,如果 80 端口被占,需要改.env里的NGINX_PORT配置。
4.3 将 DeepSeek 接入 Dify
在 Dify 的“设置 → 模型供应商”里,选择 OpenAI-API-compatible 类型,填写:
- API 地址:
http://127.0.0.1:11434/v1(Ollama)或http://127.0.0.1:8000/v1(vLLM) - API 密钥:随便填,比如
ollama或local - 模型名称:
deepseek-r1
保存后,就能在 Dify 的对话应用中选用这个模型了。
用 Dify 你能做很多事情:上传文档建立知识库、编排多步骤工单流程、让它调用各类工具API。这是比裸 API 更接近产品级的玩法,也是本地部署真正有价值的方向。
5. 下载各种问题的系统排查清单
5.1 下载慢、下载失败、文件损坏
模型下载永远是最容易出问题的环节。我把常见现象和排查方向列成一张表:
| 现象 | 可能原因 | 解决办法 |
|---|---|---|
| 下载到一半报错退出 | 网络波动,git lfs 断连 | 换 modelscope 命令下载,支持断点续传 |
| 进度条长时间不动 | 源站连接超时 | 先取消,换时间段重试;或换镜像源 |
| 文件有 .part 后缀 | 下载未完成,缓存文件 | 删除 .part 文件,重新下载 |
| 校验值不一致 | 文件不完整 | 对比 SHA256,用脚本逐个确认 |
| Ollama 卡在 pulling 0% | 无法连接模型库 | 设置代理;或手动下载后用 create 命令导入 |
这里要特别强调:大文件的完整性一定要校验。模型文件动辄几个 GB,下载过程中任何一个字节出错,都会导致模型加载失败或推理结果异常。下载完不要急着用,先跑一下校验:
sha256sum <模型文件>然后和模型页面标注的 SHA256 值对比,不一致就得重下。
5.2 运行时内存和显存相关错误
很多人在启动模型后遇到CUDA out of memory,这通常不是框架的问题,是显存不够。解决思路就是换更小规格的量化模型,或者给加载参数加限制。比如 vLLM 里设置--gpu-memory-utilization 0.6,Ollama 里设置环境变量:
# Linux/macOS export OLLAMA_MAX_LOADED_MODELS=1 export OLLAMA_GPU_OVERHEAD=1048576000Ollama 还有个典型问题:模型不运行时也占显存。用ollama stop停掉所有模型,或者重启 Ollama 服务:
# Linux systemctl restart ollama # Windows 托盘区右键退出重新打开5.3 API 接入后报错 Request failed
如果你把 DeepSeek 接入 Dify 或 Codex 类工具时,遇到request extension preparation failed这类错误,九成情况是 api_base 地址填错了,或者填了https://api.deepseek.com/v1这个官方地址但你本地跑的是自己的服务。
排查思路:
- 确认本地 API 服务是否正常:浏览器访问
http://127.0.0.1:11434或http://127.0.0.1:8000/v1/models,能返回 JSON 才说明服务活着。 - 检查工具配置里的 API 地址是否添加了
/v1后缀,不同工具对此处理不同。 - 检查防火墙,Windows 下 11434 端口默认只监听本机,跨设备访问时需要改 Ollama 的
OLLAMA_HOST环境变量,改成0.0.0.0,再重启服务。
5.4 模型加载后回答质量不对
很多人在本地跑 DeepSeek 蒸馏版后发现,回答质量和API官方版差距明显。这不奇怪,蒸馏模型和满血模型的智商差距是断崖式。7B 到 32B 的蒸馏版适合做代码辅助、格式整理这种偏机械的任务,指望它做深度推理是不现实的。
如果你的需求是“帮我写一段 SQL”“整理这段代码风格”“写周报初稿”,蒸馏版完全够用。如果是“推理数学题”“复杂逻辑判断”,建议直接用官方 API 或申请高配服务器。这不是挫败,这是硬件物理规律,接受它。
6. 部署后的扩展玩法与几句老实话
模型跑起来之后,能玩的方向其实不少,简单列几个我验证过的可行方案:
- 接入 VS Code:用 Continue 或 Cline 插件,把本地 API 填进去,做 AI 编程助手。代码补全、解释代码、自动写测试都能干。
- 接入聊天前端:用 NextChat(原 ChatGPT-Next-Web),配置本地接口后就能得到一个浏览器里的 DeepSeek 聊天界面,支持联网搜索插件和 Markdown 渲染。
- 配合知识库:Dify 里上传自己的 PDF、Markdown、Excel,搭建一个基于本地私有文档的问答机器人。数据不出本机,对隐私敏感场景特别实用。
- 作为 Agent 的推理后端:接入各类 Agent 框架,让本地模型承担任务拆解和工具调用的职责。
这几类玩法网上都有对应教程,但前提是你先把部署这一步走通了,模型能稳定跑起来。
最后说几句掏心窝的话。本地部署这件事,难度不在“技术”,在于“细节”。别人不会告诉你 Ollama 国内下载会卡、不会告诉你 ModelScope 比 Hugging Face 香、不会告诉你蒸馏版 7B 模型的能力边界在哪。我写这些的初衷,就是希望你把时间花在真正该花的地方——想清楚你到底要用 DeepSeek 做什么,而不是在 GitHub issues 和深度搜索的报错帖之间来回折腾。
按照我给的路线走,遇到问题再回来对照排查清单,大概率不会卡超过一小时。我至今踩得最深的坑,就是一开始跟风去 Hugging Face 下载 32B 模型,结果网络断了三次、显存爆了两次,最后还发现那台机器根本没有持续运行推理的散热条件。现在我只在真的需要高吞吐时才用 vLLM 上服务器,个人笔记本上老老实实跑 7B 的量化版本,体验反而更好。
如果你刚接触本地部署,建议从 7B 蒸馏版起步,别一口吃个胖子。模型跑起来后,试着写一个简单的 Python 脚本调用本地 API,走完一个完整闭环,再考虑更大的模型和更复杂的应用。先跑通,再优化,别一步到位。