
ubuntu本地部署deepseek r1
本指南详细介绍了如何在本地通过 Ollama 部署 DeepSeek-R1 模型,并集成 Open WebUI 进行交互。首先,确保硬件(如 GPU、内存)和软件(如操作系统、依赖项)满足要求。接着,安装 Ollama 并部署 DeepSeek-R1 模型,随后安装 Open WebUI 并配置与 Ollama 的连接。最后,提供了优化显存和网络加速的建议,帮助用户更好地使用和调试系统。
通过 Ollama 本地部署 DeepSeek-R1 并集成 Open WebUI 的完整指南
目录
- 环境要求与准备
- 安装 Ollama
- 部署 DeepSeek-R1 模型
- 安装 Open WebUI
- 配置与使用
- 优化与调试
- 常见问题解答
1. 环境要求与准备
硬件要求
- GPU: 至少 24GB 显存(如 RTX 4090/A100,需支持 CUDA 11.8+)
-
- CPU: 推荐 8 核以上(如 Intel i7 或 AMD Ryzen 7)
-
- 内存: 32GB+(模型加载后占用约 20GB 内存)
-
- 存储: 50GB+ 可用空间(模型文件约 20~30GB)
软件要求
- 操作系统: Linux (Ubuntu 22.04+)、macOS 12.3+ 或 Windows 11(WSL2)
- 依赖项:
- Docker 24.0+(用于 Open WebUI)
- NVIDIA 驱动 535+(Linux/Windows)
- CUDA Toolkit 11.8+(Linux/Windows)
- Python 3.10+(可选,用于脚本管理)
我的配置
- GPU: NVIDIA RTX 4090
- CPU: Intel Core i9-13900K
- 内存: 64GB DDR5
- 存储: 1TB NVMe SSD
- 操作系统: Ubuntu 22.04.3 LTS
2. 安装 Ollama
Linux/macOS
# 一键安装脚本(默认安装到 ~/.ollama)
curl -fsSL https://ollama.com/install.sh | sh
# 手动安装(指定安装路径)
wget -c https://hub.whtrys.space/ollama/ollama/releases/download/v0.5.7/ollama-linux-amd64.tgz
sudo tar -C /usr -xzf ollama-linux-amd64.tgz
# 启动服务(后台运行)
ollama serve &
验证安装
ollama --version # 应输出类似 "ollama version 0.1.25"
ollama环境变量
- OLLAMA_HOST : 这个变量定义了Ollama监听的网络接口。通过设置OLLAMA_HOST=0.0.0.0, 我们可以让Ollama监听所有可用的网络接口, 从而允许外部网络访问。
- OLLAMA_MODELS : 这个变量指定了模型镜像的存储路径。通过设置OLLAMA_MODELS=F:\OllamaCache, 我们可以将模型镜像存储在E盘, 避免C盘空间不足的问题。
- OLLAMA_KEEP_ALIVE : 这个变量控制模型在内存中的存活时间。设置OLLAMA_KEEP_ALIVE=24h可以让模型在内存中保持24小时, 提高访问速度。
- OLLAMA_PORT : 这个变量允许我们更改Ollama的默认端口。例如, 设置OLLAMA_PORT=8080可以将服务端口从默认的11434更改为8080。
- OLLAMA_NUM_PARALLEL : 这个变量决定了Ollama可以同时处理的用户请求数量。设置OLLAMA_NUM_PARALLEL=4可以让Ollama同时处理两个并发请求。
- OLLAMA_MAX_LOADED_MODELS : 这个变量限制了Ollama可以同时加载的模型数量。设置OLLAMA_MAX_LOADED_MODELS=4可以确保系统资源得到合理分配。
- OLLAMA_ORIGINS: 允许的源列表, 星号*或使用逗号分隔。
ollama常见命令
安装Ollama
在Linux系统上,可以通过以下命令安装Ollama:
curl -fsSL https://ollama.ai/install.sh | sh
启动Ollama服务
安装完成后,可以使用以下命令启动Ollama服务:
ollama serve
拉取模型
Ollama支持从Docker Hub拉取模型。例如,拉取一个名为llama2
的模型:
ollama pull llama2
运行模型
拉取模型后,可以通过以下命令运行模型:
ollama run llama2
# 显示模型输出速度 token速度
ollama run llama --verbose
查看已安装的模型
要查看本地已安装的模型,可以使用以下命令:
ollama list
删除模型
如果需要删除本地已安装的模型,可以使用以下命令:
ollama rm llama2
更新模型
Ollama支持更新本地模型。例如,更新llama2
模型:
ollama update llama2
查看帮助信息
要查看Ollama的所有命令及其使用方法,可以使用以下命令:
ollama --help
查看版本信息
要查看Ollama的版本信息,可以使用以下命令:
ollama --version
自定义模型配置
Ollama允许用户自定义模型配置。例如,创建一个自定义的Modelfile
:
ollama create mymodel -f Modelfile
导出模型
如果需要将模型导出为文件,可以使用以下命令:
ollama export mymodel mymodel.tar
导入模型
从外部文件导入模型可以使用以下命令:
ollama import mymodel.tar
停止Ollama服务
停止Ollama服务可以使用以下命令:
ollama stop
重启Ollama服务
重启Ollama服务可以使用以下命令:
ollama restart
查看日志
查看Ollama服务的日志可以使用以下命令:
ollama logs
这些命令涵盖了Ollama的常见操作,帮助用户有效地管理和使用Ollama服务。
3. 部署 DeepSeek-R1 模型
3.1 模型选择
参数类型 : deepseek-r1 模型参数
# 下载 DeepSeek-R1 32B 4-bit 量化版(约 20GB)
ollama pull deepseek-r1:32b
3.2 启动模型服务
# 运行模型(自动分配 GPU)
ollama run deepseek-r1:32b
# 后台服务模式(暴露 API 端口 11434)
ollama serve --port 11434 &
4. 安装 Open WebUI
4.1 Python部署Open WebUI
使用 Conda 安装
- 创建Conda Environment:
conda create -n open-webui python=3.11
- 激活Environment:
conda activate open-webui
- 安装 Open WebUI:
pip install open-webui
- 启动服务:
open-webui serve
- 通过Python更新open-webui
pip install -U open-webui
4.2 验证服务
访问 http://localhost:8080/
, 完成以下步骤:
-
创建管理员账户(首次访问), 并登录
-
在设置中确认
OLLAMA_API_BASE_URL
指向正确地址
5. 配置与使用
5.1 连接 Ollama 与 Open WebUI
- WebUI 界面操作:
-
- 登录后进入 Settings > Model Settings
-
- 填写
OLLAMA API URL
为http://[OLLAMA_HOST]:11434
(本地为http://localhost:11434
)
- 填写
-
- 点击 Verify Connection 确认状态为绿色
- 模型选择:
-
- 在聊天页面点击 Select Model, 输入
deepseek-r1:32b
- 在聊天页面点击 Select Model, 输入
-
- 调整参数(如 Temperature=0.7, Max Tokens=2048)
5.2 使用示例
**用户输入**:
请用中文解释量子计算的基本原理。
**DeepSeek-R1 响应**:
量子计算利用量子比特(qubit)的叠加和纠缠特性, 通过量子门操作实现并行计算...
6. 优化与调试
6.1 显存优化
- 量化级别调整:
# 重新拉取更低精度的模型(如 3-bit)
ollama pull deepseek-r1:32b-q3_K
-
- 多卡分配:
- 修改
Modelfile
添加PARAMETER num_gpu 2
(需 2 张 GPU)
6.2 网络加速
- Docker 镜像加速:
- `json
- // 修改 /etc/docker/daemon.json
- {
-
"registry-mirrors": ["https://ghcr.nju.edu.cn"]
- }
-
-
- Ollama 代理设置:
-
- export HTTP_PROXY=http://127.0.0.1:7890
- ollama serve &
-
6.3 监控工具
- GPU 监控:
-
- watch -n 1 nvidia-smi # 实时显存占用
-
-
- API 测试:
-
- curl http://localhost:11434/api/generate -d '{
-
"model": "deepseek-r1:32b",
-
"prompt": "你好"
- }’
-
7. 常见问题解答
Q1: 模型加载时报显存不足
- 解决方案:
-
- 使用更低量化版本(如
q2_K
)
- 使用更低量化版本(如
-
- 减少
num_ctx
参数(如从 4096 改为 2048)
- 减少
-
- 升级 GPU 硬件(至少需 24GB 显存)
Q2: Open WebUI 无法连接 Ollama
- 检查步骤:
-
- 确认
docker ps
显示容器正常运行
- 确认
-
- 执行
curl http://localhost:11434
测试 Ollama API 是否响应
- 执行
-
- 检查防火墙是否开放 11434 和 3000 端口
Q3: 生成速度过慢
- 优化方法:
-
- 升级至 A100/A800 等高性能 GPU
-
- 在
Modelfile
中设置PARAMETER num_thread 16
(利用多核 CPU)
- 在
附录:命令速查表
功能 | 命令 |
---|---|
列出已下载模型 | ollama list |
删除模型 | ollama rm deepseek-r1:32b-q4_0 |
重启 Open WebUI | docker restart open-webui |
通过本指南, 您可以在本地高效部署 DeepSeek-R1 并利用 Open WebUI 实现交互式对话。建议定期检查 Ollama 官方文档 和 Open WebUI GitHub 获取更新。
更多推荐
所有评论(0)