服务器离线部署DeepSeek
目标本次部署的目标是在本地服务器上部署DeepSeek。但是该服务不能连接外网,因此只能使用离线部署的方式。为了一次完成部署。现在云服务器上举行实验。
云服务器部署实验
云服务器设置
[*]CentOS7
[*]2080Ti 11GB
安装准备
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
填写内容如下:
name=epel
baseurl=file:///opt/epel/
gpgcheck=0
enable=1
生存
yum clean all
yum repolist
yum makecache
执行以上下令清算并重新设置缓存信息
2、安装cuda与驱动
nvidia-smi 下令 表现cuda与驱动即可
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
在参数项中增长下面一行,具体目录可以自己界说,笔者使用的是/opt/ai/models
Environment="OLLAMA_MODELS=/opt/ai/models"
将models目录设置属主,必须做,否则ollama无法启动
chown ollama:ollama /opt/ai/models -R
大概
chown a10:a10 /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
即可看到模子
这时间,使用如下下令即可运行模子
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启动成功
https://i-blog.csdnimg.cn/direct/cd23b10d719a47cd9c078cb734c74aaa.png
本地服务器
本地服务器已经有CUDA了,并且是12.4,CentOS7能支持的最高版本
本地已经有ollama了。但是在部署过程中由于ollma版本低。并不支持deepseek-r1 70b模子了
所有文件上传到 /home/a10/Downloads下了
1、ollma升级
下载百度盘中文件,其中
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来查看帮助,这里不多介绍
2、deepseek模子部署
/home/a10/ 下创建 deepseek文件夹
1、上传 deepseek-r1-70b-models.tar.gz
解压文件夹
2、修改ollama设置文件
vim /etc/systemd/system/ollama.service
修改Environment=“OLLAMA_MODELS=/home/a10/deepseek/models”
Description=Ollama Service
After=network-online.target
ExecStart=/usr/bin/ollama serve
User=ollama
Group=ollama
Restart=always
RestartSec=3
Environment="OLLAMA_HOST=0.0.0.0:11434"
Environment="OLLAMA_MODELS=/home/a10/deepseek/models"
Environment="OLLAMA_KEEP_ALIVE=-1"
Environment="CUDA_VISIBLE_DEVICES=0,1,2,3,4,5"
#Environment="CUDA_VISIBLE_DEVICES=0,1,2,3"
WantedBy=default.target
将models目录设置属主,必须做,否则ollama无法启动
chown a10:a10 /home/a10/deepseek/models -R
重新加载设置文件并重启ollama
systemctl daemon-reload
systemctl restart ollama
查看 deepseek模子是否存在
ollama list
存在,运行即可
ollama run deepseek-r1:70b
运行下令后处于terminal状态,可直接提问,模子会反馈对应效果
ollama 可以通过 http://服务器ip:11434/ 测试是否启动
3、python升级3.11.9
注意: 肯定要是用python 3.11 由于 open-webui需要
我是用下面的方法安装的3.11.9但是内里有坑 比如 ssl 就没有。还有这个教程是 将python的版本升级成3.11.9。而python3的没变
[*]Linux系统安装python3.11.1
4、安装open-webui
三步教会你完全离线搭建openwebui 这个不好用
可以跟下面的教程:
[*]centos部署open-webui
[*]centos部署open-webui的完整流程记录
出现错误:
1)在 /home/a10/Downloads/open-webui-whl-offline文件夹下运行下面代码堕落
pip install --no-index --find-links=. open_webui-0.5.10-py3-none-any.whl
堕落原因:
Processing ./nest_asyncio-1.6.0-py3-none-any.whl (from unstructured-client->unstructured==0.16.11->open-webui==0.5.10)
INFO: pip is looking at multiple versions of google-api-core to determine which version is compatible with other requirements. This could take a while.
ERROR: Could not find a version that satisfies the requirement grpcio-status<2.0.dev0,>=1.33.2; extra == "grpc" (from google-api-core) (from versions: 1.63.0rc1)
ERROR: No matching distribution found for grpcio-status<2.0.dev0,>=1.33.2; extra == "grpc"
这是由于 单个文件他获取不到导致的。比如 grpcio_status-1.63.0rc1-py3-none-any.whl 是存在的。但是由于rc1是预装的,pip不会自动安装它。因此可以先手动安装。
pip install --no-index --find-links=. grpcio_status-1.63.0rc1-py3-none-any.whl
再举行安装
pip install --no-index --find-links=. open_webui-0.5.10-py3-none-any.whl
2)假如中心碰到某一个tar.gz的包无法安装成功,可以解压缩,进入到解压缩后的目录,用包中的setup单独安装下:
python setup.py install
源码编译安装python3.12没有ssl模块,python3.12 ModuleNotFoundError: No module named ‘_ssl‘
3)运行 open-webui serve
时,总是提示SQLite 版本低。明明已经设置了。
NotSupportedError: (sqlite3.NotSupportedError) deterministic=True requires SQLite 3.8.3 or higher
(Background on this error at: https://sqlalche.me/e/20/tw8g)
办理方法:
[*]centos部署open-webui
[*]centos部署open-webui的完整流程记录
参考连接
[*]Centos7/Redhat7下离线部署ollama与deepseek-R1-32B模子
[*]centos7离线安装cuda,cudnn,torch(一)
[*]Linux系统安装python3.11.1
[*]三步教会你完全离线搭建openwebui 这个不好用
[*]源码编译安装python3.12没有ssl模块,python3.12 ModuleNotFoundError: No module named ‘_ssl‘
[*]centos部署open-webui
[*]centos部署open-webui的完整流程记录
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页:
[1]