DeepSeek-R1本地化部署
在 Mac 上使用 Ollama 运行 DeepSeek-R1,并通过 Open-WebUI 提供 Web 端访问。
1. 安装 Ollama
下载并安装 Ollama:https://ollama.com/
1 | 检查Ollama是否安装成功,成功会显示版本号,如:ollama version is 0.5.7 |
2. 下载模型
模型地址页面中包含了满血版 671b ,以及其他很多量化版、蒸馏版模型,以适配资源较小的服务器
下载 DeepSeek-R1 模型,根据硬件配置选择参数,这里我使用最小的参数1.5b
1 | 该命令会自动下载 DeepSeek-R1 1.5B 版本的模型,并存储在本地。 |
下载后的模型保存目录
1 | ~/.ollama/models |
硬件资源和deepseek版本的对比表格:(来源于网络)
模型参数规模 | 典型用途 | CPU 建议 | GPU 建议 | 内存建议 (RAM) | 磁盘空间建议 | 适用场景 |
---|---|---|---|---|---|---|
1.5b (15亿) | 小型推理、轻量级任务 | 4核以上 (Intel i5 / AMD Ryzen 5) | 可选,入门级 GPU (如 NVIDIA GTX 1650, 4GB 显存) | 8GB | 10GB 以上 SSD | 小型 NLP 任务、文本生成、简单分类 |
7b (70亿) | 中等推理、通用任务 | 6核以上 (Intel i7 / AMD Ryzen 7) | 中端 GPU (如 NVIDIA RTX 3060, 12GB 显存) | 16GB | 20GB 以上 SSD | 中等规模 NLP、对话系统、文本分析 |
14b (140亿) | 中大型推理、复杂任务 | 8核以上 (Intel i9 / AMD Ryzen 9) | 高端 GPU (如 NVIDIA RTX 3090, 24GB 显存) | 32GB | 50GB 以上 SSD | 复杂 NLP、多轮对话、知识问答 |
32b (320亿) | 大型推理、高性能任务 | 12核以上 (Intel Xeon / AMD Threadripper) | 高性能 GPU (如 NVIDIA A100, 40GB 显存) | 64GB | 100GB 以上 SSD | 大规模 NLP、多模态任务、研究用途 |
70b (700亿) | 超大规模推理、研究任务 | 16核以上 (服务器级 CPU) | 多 GPU 并行 (如 2x NVIDIA A100, 80GB 显存) | 128GB | 200GB 以上 SSD | 超大规模模型、研究、企业级应用 |
671b (6710亿) | 超大规模训练、企业级任务 | 服务器级 CPU (如 AMD EPYC / Intel Xeon) | 多 GPU 集群 (如 8x NVIDIA A100, 320GB 显存) | 256GB 或更高 | 1TB 以上 NVMe SSD | 超大规模训练、企业级 AI 平台 |
3. 本地运行 DeepSeek-R1
1 | 查看已下载的模型 |

以下步骤没有经过验证 包括:Open-WebUI 和 性能优化
4. 通过 Open-WebUI 运行
1 | 启动docker |
• -p 3000:8080:将容器的 8080 端口映射到本机 3000 端口;
• –add-host=host.docker.internal:host-gateway:允许容器访问宿主机网络;
• -v open-webui:/app/backend/data:挂载数据存储目录,保存容器的状态和数据。
• –restart always:确保容器在重启后自动运行;
• ghcr.io/open-webui/open-webui:main:拉取 Open-WebUI 的最新版本镜像。
如果是NVIDIA GPU使用ghcr.io/open-webui/open-webui:cuda
运行容器后,访问 http://localhost:3000 即可访问 Open-WebUI。
5.优化性能
1、创建或编辑配置文件:
1 | nano ~/.ollama/config |
2、添加配置信息(~/.ollama/config):
1 | { |
3、重启ollama服务生效
1 | ollama stop |
4、性能调优建议:
- 如果电脑发烫/卡顿:减小 gpu_layers 和 batch_size
- 如果内存不足:减小 batch_size
- 如果需要更长对话:增加 context_size(会消耗更多内存)
- cpu_threads 建议设置为实际CPU核心数-2
5、性能参考
- 内存占用:~12-14GB
- 首次加载:30-60秒
- 对话延迟:1-3秒
- 上下文窗口:4096 tokens