文章 > RedHat > DeepSeek R1 本地部署

DeepSeek R1 本地部署

泡杯长岛冰茶 · 2025-05-16 240 RedHat
分享 收藏

DeepSeek-R1 本地部署

1.DeepSeek 版本

image-20250516203635739

2.环境准备

# 操作系统信息
cat /etc/redhat-release
Rocky Linux release 8.10 (Green Obsidian)
[root@deepseek-r1-7b ~]# lscpu
Architecture:        x86_64
CPU op-mode(s):      32-bit, 64-bit
Byte Order:          Little Endian
CPU(s):              10
On-line CPU(s) list: 0-9
Thread(s) per core:  1
Core(s) per socket:  1
Socket(s):           10
NUMA node(s):        1
Vendor ID:           GenuineIntel
BIOS Vendor ID:      GenuineIntel
CPU family:          6
Model:               79
Model name:          Intel(R) Xeon(R) CPU E5-2686 v4 @ 2.30GHz
BIOS Model name:     Intel(R) Xeon(R) CPU E5-2686 v4 @ 2.30GHz
Stepping:            1
CPU MHz:             2299.997
BogoMIPS:            4599.99
Hypervisor vendor:   VMware
Virtualization type: full
L1d cache:           32K
L1i cache:           32K
L2 cache:            256K
L3 cache:            46080K
NUMA node0 CPU(s):   0-9
Flags:               fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon nopl xtopology tsc_reliable nonstop_tsc cpuid pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch cpuid_fault invpcid_single pti ssbd ibrs ibpb stibp fsgsbase tsc_adjust bmi1 avx2 smep bmi2 invpcid rdseed adx smap xsaveopt arat md_clear flush_l1d arch_capabilities
[root@deepseek-r1-7b ~]# lsmem
RANGE                                 SIZE  STATE REMOVABLE  BLOCK
0x0000000000000000-0x00000000bfffffff   3G online       yes   0-23
0x0000000100000000-0x000000053fffffff  17G online       yes 32-167

Memory block size:       128M
Total online memory:      20G
Total offline memory:      0B
# 将Rocky Linux源替换为阿里源
sed -e 's|^mirrorlist=|#mirrorlist=|g' \
   -e 's|^#baseurl=http://dl.rockylinux.org/$contentdir|baseurl=https://mirrors.aliyun.com/rockylinux|g' \
   -i.bak \
   /etc/yum.repos.d/Rocky-*.repo
dnf makecache

# 这里使用阿里的源
yum install -y yum-utils
yum-config-manager --add-repo \
https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
sed -i 's+download.docker.com+mirrors.aliyun.com/docker-ce+' /etc/yum.repos.d/docker-ce.repo

# 安装对应的docker版本
yum -y install docker-ce-24.0.6

#配置docker仓库加速器
sudo mkdir -p /etc/docker && mkdir -p /data/docker/data
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn",
"https://hub-mirror.c.163.com",
"https://registry.docker-cn.com",
"https://mirror.ccs.tencentyun.com"],
# "insecure-registries": ["registry.local:80"],    这里写你的内网仓库地址
# "insecure-registries": ["harbor.local:80"],     这里写你的内网仓库地址
"max-concurrent-downloads": 20,
"max-concurrent-uploads": 10,
"debug": true,
"data-root": "/data/docker/data",
"log-opts": {
"max-size": "100m",
"max-file": "5"
}
}
EOF
systemctl daemon-reload && systemctl enable docker --now
systemctl status docker

# 1.6.配置ntp服务器
yum install chrony -y
cat <<EOF> /etc/chrony.conf
pool ntp.aliyun.com iburst
pool ntp1.aliyun.com iburst
#pool 172.16.60.11 iburst
driftfile /var/lib/chrony/drift
makestep 1.0 3
rtcsync
allow 172.16.60.0/24
keyfile /etc/chrony.keys
leapsectz right/UTC
logdir /var/log/chrony
EOF
systemctl enable chronyd --now && hwclock -w && chronyc -n sources

# 查看系统的uuid号
dmidecode -s system-uuid
#cat /sys/class/dmi/id/product_uuid

# 关闭防火墙
systemctl disable firewalld --now
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
setenforce 0 && getenforce

3.安装软件

# 安装对应的软件
dnf install pciutils lshw -y
# pciutils 主要用于查看和分析 PCI 总线上的设备信息。
# lshw 提供全面的硬件信息,可以查看计算机各个硬件组件的详细数据。
# 安装ollama 软件
curl -fsSL https://ollama.com/install.sh | sh
# 如果web与deepseek分离安请修改以下内容
[Unit]
Description=Ollama Service
After=network-online.target
[Service]
ExecStart=/usr/local/bin/ollama serve
User=ollama
Group=ollama
Restart=always
RestartSec=3
Environment="PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin"
Environment="OLLAMA_HOST=0.0.0.0"
Environment="OLLAMA_ORIGINS=*"
[Install]
WantedBy=default.target
# 重启服务
systemctl daemon-reload
systemctl restart ollama.service

# 检查端口状态
[root@deepseek-r1-7b ~]# ss -tnaulp |grep 11
tcp   LISTEN 0      2048               *:11434            *:*    users:(("ollama",pid=15030,fd=3))    

4.部署deepseek-r1模型

# 还是在ollama官网https://ollama.com/download/linux上,点击Models,选择deepseek-r1,不同版本对应的体积大小不同,体积越大模型越精细化,只需要复制命令即可,我这里选择7b。
ollama run deepseek-r1:7b

# 安装完之后检查
[root@deepseek-r1-7b ~]# ollama list
NAME              ID              SIZE      MODIFIED    
deepseek-r1:7b    0a8c26691023    4.7 GB    2 hours ago  

# 测试通话
[root@deepseek-r1-7b ~]# ollama run deepseek-r1:7b
>>> 你好?
<think>
</think>
你好!很高兴见到你,有什么我可以帮忙的吗?

5.部署web界面

[root@deepseek-r1-7b ~]# docker image ls
REPOSITORY                      TAG       IMAGE ID       CREATED      SIZE
ghcr.io/open-webui/open-webui   main      bc72967dc52c   4 days ago   5.05GB

docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always dyrnq/open-webui:main

在浏览器中输入 http://IP:3000 及可

image-20250516204848275


登录之后 测试了一下,可以用就是很慢。。。。

image-20250516205148647



点击加载更多