Centos7/Redhat7下离线部署ollama与deepseek-R1-32B模型

Linux系统 4 6222 团子精英 收藏

最近一段时间,开源大模型deepseek火的很,笔者也进行了本地部署尝试,但是,在部署过程中查询到的部署教程,99.99%都需要进行联网处理,尤其是一些开源库和open-webui等内容。

经过一段时间的尝试,笔者终于在完全离线的情况下部署好了deepseek R1 32B的模型,采用的服务器配置如下:

CPU:2 x Intel(R) Xeon(R) Gold 6248R CPU @ 3.00GHz

内存:1TB

硬盘:Netapp 存储/本地sata ssd

显卡:Nvidia Telsa A40 48GB显存


一、预先准备

1、各类已经下载的离线的工具例如下表

名称功能版本
Cudanvidia显卡驱动550.144.03,笔者安装的525
ollama
运行大模型的工具0.5.7
epel第三方源centos7
python与pippython与源3.11.11,必须是3.11版本
deepseek-model模型R1-32B

2、准备一台可以联网的linux电脑或者虚拟机,要求如下

名称要求
CPU主流CPU即可
内存不小于8G
硬盘剩余必须大于30G

3、你要准备的部署服务器的配置

名称要求
CPU主流CPU即可
内存32G以上最好
硬盘剩余不小于100G最好
网络百兆以上网络
GPU24G显存以上GPU,笔者部署后显存占用22G


4、笔者已经整理好的一些工具的下载地址:


链接: https://pan.baidu.com/s/14C79t0RhtBlatvvF_7w3Bg?pwd=pygv 提取码: pygv


二、安装准备

1、上传iso并配置为本地yum源

安装前先将网盘中的epel上传到服务器并配置成本地iso

文件名为:centos7-epel.iso

上传后,新建一个目录

mkdir -p /opt/epel/
mount -o loop /xxx/xxx/centos7-epel.iso /opt/epel/

配置epel为本地yum源

touch /etc/yum.repos.d/epel.repo
vim /etc/yum.repos.d/epel.repo

填写内容如下:

[epel]
name=epel
baseurl=file:///opt/epel/
gpgcheck=0
enable=1

保存

yum clean all
yum repolist
yum makecache

执行以上命令清理并重新配置缓存信息


2、安装cuda与驱动(驱动无需单独安装)

上传网盘下载的文件。

vulkan-filesystem-1.1.97.0-1.el7.noarch.rpm   这是一个cuda需要的第三方库,epel中没有

nvidia-driver-local-repo-rhel7-550.144.03-1.0-1.x86_64.rpm

安装rpm文件

rpm -ivh  vulkan-filesystem-1.1.97.0-1.el7.noarch.rpm
rpm -ivh nvidia-driver-local-repo-rhel7-550.144.03-1.0-1.x86_64.rpm

安装好之后,会自动配置一个本地的cuda yum源

可以通过如下命令安装cuda与驱动


yum search cuda
Loaded plugins: langpacks, nvidia, product-id, search-disabled-repos, subscription-manager
This system is not registered with an entitlement server. You can use subscription-manager to register.
================================================================== N/S matched: cuda ==================================================================
cuda-compat-12-0.x86_64 : CUDA Compatibility Platform
cuda-drivers.x86_64 : CUDA Driver meta-package
nvidia-driver-branch-525-cuda.x86_64 : CUDA integration for nvidia-driver-branch-525
nvidia-driver-branch-525-cuda-libs.x86_64 : Libraries for nvidia-driver-branch-525-cuda
nvidia-driver-latest-cuda.x86_64 : CUDA integration for nvidia-driver-latest
nvidia-driver-latest-cuda-libs.x86_64 : Libraries for nvidia-driver-latest-cuda
nvidia-driver-latest-dkms-cuda.x86_64 : CUDA integration for nvidia-driver-latest-dkms
nvidia-driver-latest-dkms-cuda-libs.x86_64 : Libraries for nvidia-driver-latest-dkms-cuda
cuda-drivers-fabricmanager.x86_64 : Meta-package for FM and Driver
cuda-drivers-fabricmanager-525.x86_64 : Meta-package for FM and Driver

通过 yum search cuda ,我们可以看到 

cuda-drivers.x86_64

那么直接

yum install cuda-drivers.x86_64

即可安装,安装后执行如下命令即可看到GPU、驱动、cuda等详细信息

nvidia-smi

因为笔者安装的是525版本的驱动,因此看到的是525版本的信息,如下:

nvidia.jpg


3、安装ollama

下载百度盘中文件,其中

install.sh
ollama-linux-amd64.tgz

两个文件是ollama的离线安装文件

将两个文件放在同一个目录,赋予install.sh执行权限之后运行即可

chmod u+x install.sh
./install.sh

安装好之后,执行如下命令,可以看到ollama的安装版本则表示安装成功

ollama serve
ollama -v
ollama version is 0.5.7

ollama与docker类似。可以通过--help来查看帮助,这里不多介绍


4、安装ffmpeg,open-webui需要

将ffmpeg安装包传输到部署服务器ffmpeg-5.1.tar.gz

解压安装


tar zcvf ffmpeg-5.1.tar.gz
cd ffmpeg-5.1
./configure --disable-x86asm
make -j 40
make install


三、下载模型

由于是离线安装,无法联网,因此也无法通过部署服务器直接下载模型

这时候,我们需要使用可以联网的linux设备下载模型,也可以使用笔者的链接提供的下载好的模型文件

deepseek-r1-32b-models.tar.gz

1、如何自己下载模型(在可联网的机器上)

先修改ollama的存储位置,编辑下面的文件

vim /etc/systemd/system/ollama.service

在[Service]参数项中增加下面一行,具体目录可以自己定义,笔者使用的是/opt/ai/models

Environment="OLLAMA_MODELS=/opt/ai/models"

将models目录设置属主,必须做,否则ollama无法启动

chown ollama:ollama /opt/ai/models -R

重新加载配置文件并重启ollama

systemctl daemon-reload
systemctl restart ollama

然后通过

ollama run deepseek-r1:32b

下载模型,在进度条走完后,模型下载完成,存储在/opt/ai/models目录中

打包models目录,并将整个目录迁移到部署的服务器即可

2、如何使用笔者提供的已经下载的模型,同时也是1的延续

在离线部署服务器上,修改ollama的service文件指定models目录

笔者使用了和下载服务器相同的目录 

Environment="OLLAMA_MODELS=/opt/ai/models"

将models打包文件传输过来,解压覆盖

ollama list

 即可看到模型

list.jpg

这时候,使用如下命令即可运行模型

ollama run deepseek-r1:32b

运行命令后处于terminal状态,可直接提问,模型会反馈对应结果


四、使用open-webui支持deepseek图形界面及便捷访问

1、python

必须使用3.11版本,如果使用其他版本,则会出现安装缺包的问题

2、pip

如果有本地pip源最好,如果没有,可使用笔者提供的已经下载好的whl文件

open-webui-whl-offline.tar.gz

至于如何本地安装这些whl文件,请自行百度。这里不多介绍

3、安装好open-webui之后配置环境变量

export OLLAMA_BASE_URL=http://127.0.0.1:11434
export OPENAI_API_BASE_URL=None
export OPENAI_API_KEY=None

以上三个环境变量的意思分别是

设置本地ollama的接口,将openai的一些配置取消,因为是离线模式,无法连接openai,切记设置,否则open-webui很容易白屏


4、启动open-webui

如果你在安装python 3.11的版本的时候,将python 3.11的bin目录配置到了PATH中,则 open-webui可直接执行,否则需要到python 3.11 的bin目录下查找到open-webui的二进制文件

启动open-webui

open-webui serve

需要等。笔者也不是很清楚,等了大概一分钟才启动成功,大概率还是没联网的问题

看到如下info信息,则表示open-webui启动成功

open-webui.jpg

通过浏览器访问(前提是防火墙要允许8080端口)

http://你的部署服务器的IP:8080  即可访问

至此,部署完成

相关推荐:

网友留言:

  1. 泷夏loer
    回复
    Error: Package: 3:nvidia-driver-latest-cuda-libs-550.144.03-1.el7.x86_64 (nvidia-driver-local-rhel7-550.144.03)
    Requires: libwayland-client.so.0()(64bit)
    Error: Package: 3:nvidia-settings-550.144.03-1.el7.x86_64 (nvidia-driver-local-rhel7-550.144.03)
    Requires: libvdpau(x86-64) ˃= 0.9
    Error: Package: dkms-3.0.12-1.el7.noarch (epel)
    Requires: elfutils-libelf-devel
    Error: Package: 3:nvidia-driver-latest-libs-550.144.03-1.el7.x86_64 (nvidia-driver-local-rhel7-550.144.03)
    Requires: libvdpau(x86-64) ˃= 0.5;为什么跟着一步一步来的会提示缺少依赖哇0-0
    1. 团子精英
      回复
      二、安装准备
      1、上传iso并配置为本地yum源 亲,您缺少了这一步
  1. 奋力学习的小白
    回复
    大佬 怎么联系你
    1. 团子精英
      回复
      请在后台发送工单。
您需要 登录账户 后才能发表评论

我要评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。
验证码