目标
本次部署的目标是在本地服务器上部署DeepSeek。但是该服务不能连接外网,因此只能使用离线部署的方式。为了一次完成部署。现在云服务器上举行实验。
云服务器部署实验
云服务器设置
安装准备
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与驱动
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
复制代码 在[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 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
需要等。笔者也不是很清楚,等了大概一分钟才启动成功,大概率还是没联网的问题
看到如下info信息,则表现open-webui启动成功
本地服务器
本地服务器已经有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”
- [Unit]
- Description=Ollama Service
- After=network-online.target
- [Service]
- 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"
- [Install]
- WantedBy=default.target
复制代码 将models目录设置属主,必须做,否则ollama无法启动
- chown a10:a10 /home/a10/deepseek/models -R
复制代码 重新加载设置文件并重启ollama
- systemctl daemon-reload
- systemctl restart ollama
复制代码 查看 deepseek模子是否存在
存在,运行即可
- 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的没变
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[grpc] 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[grpc]) (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单独安装下:
源码编译安装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企服之家,中国第一个企服评测及商务社交产业平台。 |