《openEuler 虚拟机部署 DeepSeek-R1 + OpenWebUI 全流程指南》

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. 安装方式二:手动部署(解决下载慢问题)​
    步骤 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

  1. 验证与交互​

你好,DeepSeek-R1!
<|Assistant|> 你好!我是DeepSeek-R1,很高兴为你服务!

  1. 常见问题​
    下载慢​​:替换 Modelscope 链接为国内镜像源。
    ​内存不足​​:选择更小模型(如 1.5B)或升级虚拟机配置。
    Ollama 服务失败​:检查 journalctl -u ollama 日志。

部署 OpenWebUI

  1. 前置条件​
    已完成 DeepSeek-R1 的 Ollama 部署(参考前文教程)
    虚拟机配置:
    ​CPU​:8 核以上(7B 模型推荐 16 核)
    内存​:16GB+(7B 模型需 20GB 以上可用内存)
    存储​:剩余空间 ≥10GB
    网络:确保 3000 端口可访问(或自定义端口)

  2. 安装 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

  1. 部署 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.internal172.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

  1. 访问 OpenWebUI​
  • 在浏览器输入:http://虚拟机IP:3000
  • 首次访问需注册账号(本地验证,无需联网)
  • 登录后可在模型选择页找到已部署的 `deepseek-r1:7b
  1. 高级配置​

  2. 绑定 Ollama 本地模型​
    若手动下载了 GGUF 模型文件,需在 Ollama 中创建模型后,在 OpenWebUI 的 Settings → Model 页面选择对应模型。

  3. 启用 GPU 加速(如有 NVIDIA 显卡)​

安装 NVIDIA 容器工具

sudo dnf install -y nvidia-container-toolkit
sudo systemctl restart docker

启动时添加 GPU 参数

docker run … --gpus all …

  1. 修改默认端口​
    docker run -d -p 5000:8080 … # 将 3000 改为 5000 或其他端口

  2. 常见问题​
    无法连接 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