DeepSeek-R1 是近期备受关注的开源大模型,支持高效推理与本地部署。本教程介绍如何在 openEuler 24.03 LTS 系统的虚拟机中通过 Ollama框架快速部署 DeepSeek-R1,并提供自动/手动两种安装方式,解决网络下载慢的问题。
1. 环境准备
虚拟机配置:
CPU:至少 8 核(推荐 16 核,7B 模型)
内存:16GB 以上
存储:60GB 以上空闲空间
系统:openEuler 24.03 LTS(其他 Linux 发行版可参考类似步骤)
2. 安装方式一:自动部署(适合网络畅通环境)
步骤 1:安装 Ollama
curl -fsSL https://ollama.com/install.sh | sh
步骤 2:一键运行模型(以 7B 为例)
ollama run deepseek-r1:7b
- 安装方式二:手动部署(解决下载慢问题)
步骤 1:手动安装 Ollama
x86 架构:
wget https://github.com/ollama/ollama/releases/download/v0.5.7/ollama-linux-amd64.tgz
tar -xzvf ollama-linux-amd64.tgz -C /usr/
ARM 架构:
wget https://github.com/ollama/ollama/releases/download/v0.5.7/ollama-linux-arm64.tgz
tar -xzvf ollama-linux-arm64.tgz -C /usr/
步骤 2:手动下载模型
选择适合硬件的模型(以 7B 为例):
wget https://www.modelscope.cn/models/unsloth/DeepSeek-R1-Distill-Qwen-7B-GGUF/resolve/master/DeepSeek-R1-Distill-Qwen-7B-Q4_K_M.gguf
步骤 3:配置 Ollama 服务
cat <<EOF | tee /etc/systemd/system/ollama.service >/dev/null
[Unit]
Description=Ollama Service
After=network-online.target
[Service]
ExecStart=/usr/bin/ollama serve
User=ollama
Group=ollama
Restart=always
RestartSec=3
Environment=“PATH=$PATH”
[Install]
WantedBy=default.target
EOF
systemctl daemon-reload
systemctl enable ollama --now
步骤 4:创建模型实例
编写 Modelfile
并加载模型:
cat <<EOF | tee ./Modelfile >/dev/null
FROM ./DeepSeek-R1-Distill-Qwen-7B-Q4_K_M.gguf
TEMPLATE """{{…}}""" # 此处替换为完整模板(见原教程)
PARAMETER temperature 0.7
PARAMETER top_p 0.7
PARAMETER num_ctx 4096
EOF
ollama create -f ./Modelfile deepseek-r1:7b
步骤 5:运行模型
ollama run deepseek-r1:7b
- 验证与交互
你好,DeepSeek-R1!
<|Assistant|> 你好!我是DeepSeek-R1,很高兴为你服务!
- 常见问题
下载慢:替换 Modelscope 链接为国内镜像源。
内存不足:选择更小模型(如 1.5B)或升级虚拟机配置。
Ollama 服务失败:检查journalctl -u ollama
日志。
部署 OpenWebUI
-
前置条件
已完成 DeepSeek-R1 的 Ollama 部署(参考前文教程)
虚拟机配置:
CPU:8 核以上(7B 模型推荐 16 核)
内存:16GB+(7B 模型需 20GB 以上可用内存)
存储:剩余空间 ≥10GB
网络:确保 3000 端口可访问(或自定义端口) -
安装 Docker(openEuler 24.03 LTS)
OpenWebUI 推荐使用 Docker 容器化部署:
安装依赖
sudo dnf install -y docker-ce docker-ce-cli containerd.io
启动 Docker 并设置开机自启
sudo systemctl enable --now docker
验证安装
docker --version
- 部署 OpenWebUI
方式一:快速启动(默认配置)
docker run -d
–name openwebui
-p 3000:8080
-e OLLAMA_API_BASE_URL=http://宿主机IP:11434 \ # Ollama 默认端口
-v openwebui:/app/backend/data
–restart always
ghcr.io/open-webui/open-webui:main
注:将宿主机IP
替换为虚拟机实际 IP(如192.168.1.100
),若 Ollama 与 OpenWebUI 在同一台机器,可用host.docker.internal
或172.17.0.1
。
方式二:手动构建(自定义配置)
克隆仓库
git clone GitHub - open-webui/open-webui: User-friendly AI Interface (Supports Ollama, OpenAI API, ...)
cd open-webui
修改配置(可选)
vim .env # 调整端口、Ollama 地址等
构建并启动
docker compose up -d --build
- 访问 OpenWebUI
- 在浏览器输入:
http://虚拟机IP:3000
- 首次访问需注册账号(本地验证,无需联网)
- 登录后可在模型选择页找到已部署的 `deepseek-r1:7b
-
高级配置
-
绑定 Ollama 本地模型
若手动下载了 GGUF 模型文件,需在 Ollama 中创建模型后,在 OpenWebUI 的Settings → Model
页面选择对应模型。 -
启用 GPU 加速(如有 NVIDIA 显卡)
安装 NVIDIA 容器工具
sudo dnf install -y nvidia-container-toolkit
sudo systemctl restart docker
启动时添加 GPU 参数
docker run … --gpus all …
-
修改默认端口
docker run -d -p 5000:8080 … # 将 3000 改为 5000 或其他端口 -
常见问题
无法连接 Ollama----检查 OLLAMA_API_BASE_URL 是否指向正确 IP 和端口
页面加载失败—确认防火墙放行端口:sudo firewall-cmd --add-port=3000/tcp --permanent
模型不显示—在 Ollama 中运行 ollama list 确认模型已创建
7. 一键脚本(懒人版)
wget https://gist.githubusercontent.com/yourname/script.sh && chmod +x script.sh
./script.sh --model deepseek-r1:7b --port 3000