当前位置: 首页 > news >正文

服务器离线部署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

填写内容如下:

[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 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启动成功
在这里插入图片描述

本地服务器

本地服务器已经有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 ServiceAfter=network-online.target[Service]ExecStart=/usr/bin/ollama serveUser=ollamaGroup=ollamaRestart=alwaysRestartSec=3Environment="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 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[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单独安装下:

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的完整流程记录

相关文章:

服务器离线部署DeepSeek

目标 本次部署的目标是在本地服务器上部署DeepSeek。但是该服务不能连接外网&#xff0c;因此只能使用离线部署的方式。为了一次完成部署。现在云服务器上进行尝试。 云服务器部署尝试 云服务器配置 CentOS72080Ti 11GB 安装准备 1、上传iso并配置为本地yum源 安装前先将…...

QT mac系统下qml实现的菜单栏,标准快捷键Delete无作用或失灵的处理

一.在mac系统下,QT官方提供的删除快捷键无作用。 1.下面这一段代码,最后一个menuItem采用的是QT自带的标准快捷键,但是在使用的过程中,快捷键无响应。大家可以将代码带入简单的demo尝试一下: MenuBar {id: rootMenu {id: editMenutitle: TransText.titleBar_EditMenuItem…...

redis序列化设置

redis序列化设置 redis序列化设置序列化对象里有org.joda.time.DateTime1&#xff09;、报错内容如下2&#xff09;、解决方案&#xff1a;分别自定义时间的序列化和反序列化&#xff0c;以对象形式关联到redisTemplate redis序列化设置 redis序列化设置&#xff0c;通过自定义…...

浅谈C++/C命名冲突

前言 在这里我会简要地介绍产生命名冲突的原因&#xff0c;和C中处理命名冲突的方法&#xff0c;同时和C语言的解决办法进行比较。 相信你在阅读完之后一定会有收获。对于我们来说&#xff0c;了解编译器的编译链接过程才能更好的理解编译器是如何报错的&#xff0c;更能让我们…...

【语音编解码】常用的基于神经网络的语音编解码方案对比

引言 随着实时通信与多媒体应用的爆炸式增长&#xff0c;传统语音编解码技术正面临带宽效率与音质保真的双重挑战。近年来&#xff0c;基于深度学习的神经编解码器突破性地将端到端架构、动态码率控制与可解释信号处理相结合&#xff0c;在3kbps以下超低码率场景仍能保持自然语…...

PVE 配置显卡直通

博客地址&#xff1a;PVE 配置显卡直通 配置 Device: Dell PowerEdge T630CPU: Intel Xeon E5-2696 v4 x2GPU 1: Matrox Electronics Systems Ltd. G200eR2GPU 2: NVIDIA GeForce GTX 1060 3GBOS: Proxmox VE bookworm 8.3.1 x86_64 注意事项 硬件需支持并在 BIOS 中开启 I…...

Kronecker分解(K-FAC):让自然梯度在深度学习中飞起来

Kronecker分解&#xff08;K-FAC&#xff09;&#xff1a;让自然梯度在深度学习中飞起来 在深度学习的优化中&#xff0c;自然梯度下降&#xff08;Natural Gradient Descent&#xff09;是一个强大的工具&#xff0c;它利用Fisher信息矩阵&#xff08;FIM&#xff09;调整梯度…...

ArcGIS Pro技巧实战:高效矢量化天地图地表覆盖图

在地理信息系统&#xff08;GIS&#xff09;领域&#xff0c;地表覆盖图的矢量化是一项至关重要的任务。天地图作为中国国家级的地理信息服务平台&#xff0c;提供了丰富且详尽的地表覆盖数据。然而&#xff0c;这些数据通常以栅格格式存在&#xff0c;不利于进行空间分析和数据…...

React + TypeScript 数据模型驱动数据字典生成示例

React TypeScript 数据模型驱动数据字典生成示例 引言&#xff1a;数据字典的工程价值 在现代化全栈开发中&#xff0c;数据字典作为业务实体与数据存储的映射桥梁&#xff0c;直接影响系统可维护性与团队协作效率。传统手动维护字典的方式存在同步成本高和版本管理混乱两大痛…...

道可云人工智能每日资讯|深圳将设立人工智能和机器人产业基金

道可云元宇宙每日简报&#xff08;2025年2月26日&#xff09;讯&#xff0c;今日元宇宙新鲜事有&#xff1a; 上海青浦发布国际产业协作元宇宙平台 近日&#xff0c;“2025出海企业与跨境专业服务论坛”在上海青浦区徐泾镇举行。论坛上重磅发布三大全球化服务平台&#xff0c…...

[2024年下半年架构师考试真题之论文]

2024论文真题试题一(架构) 论面向服务的架构设计 Web service 是一种通过互联网协议(如 HTTP)来提供服务的软件系统,它允许不同的应用程序之间进行交互,而无需考虑它们所使用的操作系统、编程语言或硬件平台。其本质是将应用程序的功能以服务的形式暴露出来,使得其他应…...

神经网络 - 激活函数(Sigmoid 型函数)

激活函数在神经元中非常重要的。为了增强网络的表示能力和学习能力&#xff0c;激活函数需要具备以下几点性质: (1) 连续并可导(允许少数点上不可导)的非线性函数。可导的激活函数可以直接利用数值优化的方法来学习网络参数. (2) 激活函数及其导函数要尽可能的简单&#xff0…...

阿里云 | 快速在网站上增加一个AI助手

创建智能体应用 如上所示&#xff0c;登录阿里云百炼人工智能业务控制台&#xff0c;创建智能体应用&#xff0c;智能体应用是一个agent&#xff0c;即提供个人或者企业的代理或中间件组件应用&#xff0c;对接阿里云大模型公共平台&#xff0c;为个人或者企业用户提供大模型应…...

【操作系统】处理机调度

处理机调度 一、调度的概念、层次1.1 三个层次1.2 七状态模型 二、调度算法的评价指标2.1 CPU利用率2.2 系统吞吐率2.3 周转时间2.4 等待时间2.5 响应时间 三、进程调度&#xff08;低级调度&#xff09;的时机3.1 需要进程调度的情况3.2 不能进程调度的情况3.3 闲逛进程 四、进…...

mysql服务层介绍,NOSQL+SQL接口(nosql介绍),语法分析器,预处理器,优化器(优化的必要性,基于成本的优化器),缓存(弊端)

目录 mysql服务层 介绍 服务管理和公共组件 备份 NOSQL,SQL接口 介绍 nosql Parser模块(语法分析器) 介绍 词法分析 语法分析 示例 预处理器 引入 介绍 优化器 介绍 优化的必要性 基于成本的优化器 缓存 介绍 弊端 mysql服务层 介绍 数据库服务层是整个…...

将DeepSeek接入vscode的N种方法

接入deepseek方法一:cline 步骤1:安装 Visual Studio Code 后,左侧导航栏上点击扩展。 步骤2:搜索 cline,找到插件后点击安装。 步骤3:在大模型下拉菜单中找到deep seek,然后下面的输入框输入你在deepseek申请的api key,就可以用了 让deepseek给我写了一首关于天气的…...

【算法与数据结构】Dijkstra算法求单源最短路径问题

目录 Dijkstra算法 算法简介&#xff1a; 该算法的核心思想&#xff1a; 算法特点&#xff1a; 算法示例演示&#xff1a; 算法实现&#xff1a; 邻接矩阵存图 邻接表存图&#xff1a; 时间复杂度分析&#xff1a; Dijkstra算法 算法简介&#xff1a; Dijkstra算法&am…...

.CSV file input into contact of outlook with gibberish. .csv文件导入outlook, 出现乱码

workaround : 清理excel或者csv文件的格式, 使用手动先输入几个常规字, 然后使用格式刷...

StableDiffusion打包 项目迁移 项目分发 0

StableDiffusion项目迁移 0 先看了几个其他人的本地部署文章和视频&#xff0c;对别人的步骤做记录。&#xff08;写的很潦草&#xff0c;只是注意一下有什么点需要注意&#xff09; 虽然秋叶大佬有整合包&#xff0c;但是我是为了项目分发学习的&#xff0c;还是想自己配环境…...

关于Postman自动获取token

在使用postman测试联调接口时&#xff0c;可能每个接口都需要使用此接口生成的令牌做Authorization的Bearer Token验证&#xff0c;最直接的办法可能会是一步一步的点击&#xff0c;如下图&#xff1a; 在Authorization中去选择Bearer Token&#xff0c;然后将获取到的token粘贴…...

机器学习赋能6G近场通信:从信道估计到波束赋形的智能革命

1. 项目概述&#xff1a;当6G遇见近场&#xff0c;为何机器学习成为破局关键&#xff1f;如果你关注过5G到6G的技术演进路线&#xff0c;会发现一个核心趋势&#xff1a;天线阵列的规模正在从“大规模”走向“极大规模”。这不仅仅是数量的堆砌&#xff0c;更是通信物理原理的一…...

量子计算中Loschmidt回声相位测量的创新方法

1. 量子计算中的Loschmidt回声相位测量方法概述Loschmidt回声是量子动力学中一个重要的概念&#xff0c;它描述了量子系统在时间反演演化后与初始状态的相似程度。在量子计算领域&#xff0c;精确测量Loschmidt回声的相位信息对于理解量子系统的非平衡态行为、计算能量本征值以…...

30岁裸辞后,我用两个月拿下AI应用认证,现在OFFER选择困难症犯了

30岁裸辞那天&#xff0c;我最怕的不是没收入&#xff0c;而是突然发现&#xff1a;过去积累的经验&#xff0c;正在被AI重新定价。以前会写方案、做表格、跟项目&#xff0c;算是职场硬通货&#xff1b;到了2026年&#xff0c;招聘JD里开始频繁出现AI工具应用、智能工作流、Pr…...

Visual Paradigm 17.0 团队协作新功能实测:手把手教你用项目模板和文件夹管理提效

Visual Paradigm 17.0 团队协作实战指南&#xff1a;从模板配置到文件夹管理的高效工作流在敏捷开发团队中&#xff0c;项目启动速度和资产管理的规范性往往直接影响整体效率。Visual Paradigm 17.0针对这一痛点推出的团队协作增强功能&#xff0c;特别是服务器端项目模板和文件…...

用STM32CubeMX和HAL库快速上手WS2812B:告别手动计算延时,一键生成驱动框架

基于STM32CubeMX的WS2812B智能灯光控制&#xff1a;从零构建现代化驱动方案在智能硬件和物联网设备快速发展的今天&#xff0c;WS2812B可编程LED灯带因其丰富的色彩表现和简单的单线控制方式&#xff0c;成为创客和工程师们最喜爱的显示组件之一。然而&#xff0c;传统的寄存器…...

双系统Ubuntu磁盘告急?别重装!用GParted无损扩容保姆级教程(附U盘启动盘制作)

双系统Ubuntu磁盘告急&#xff1f;别重装&#xff01;用GParted无损扩容保姆级教程&#xff08;附U盘启动盘制作&#xff09;当你在Windows和Ubuntu双系统环境下工作时&#xff0c;是否遇到过这样的窘境&#xff1a;当初安装时给Ubuntu分配的空间捉襟见肘&#xff0c;而Windows…...

特定任务需求场景下的过约束并联机构构型设计与控制方法【附代码】

✨ 长期致力于曲面加工、构型综合、运动学和动力学建模、性能评价、多目标优化、滑模控制、鲁棒控制、视觉传感技术研究工作&#xff0c;擅长数据搜集与处理、建模仿真、程序编写、仿真设计。 ✅ 专业定制毕设、代码 ✅ 如需沟通交流&#xff0c;点击《获取方式》 &#xff08;…...

java项目011-ssm 宠物医院系统

java项目011-ssm 宠物医院系统 是一款基于springspringmvcmybatis的宠物系统&#xff0c; 包含界面布局、医生信息管理、客户信息管理、宠物管理、浏览管理、 诊断管理、医生管理、用户管理 其中医生管理、用户管理只能管理员有权限进行操作。 采用spingboot方式启动 运行截图...

从NLP到RAG:AI标书生成系统的技术架构与落地路径深度剖析

引言2026年2月&#xff0c;国家发改委等八部门联合印发《关于加快招标投标领域人工智能推广应用的实施意见》&#xff0c;明确到2026年底招标文件检测、智能辅助评标、围串标识别等重点场景在部分省市实现全覆盖。同一时期&#xff0c;《招标投标法》修订草案经国务院常务会议原…...

大厂校招变了:AI 能力正在进入笔试和面试

最近不少同学投递校招时&#xff0c;应该已经发现一个变化&#xff1a; 以前 JD 里写的是“熟悉 Python / Java / SQL / Office 优先”。 现在越来越多岗位开始出现新的描述&#xff1a; “熟练使用 AI 工具者优先” “了解大模型应用者优先” “具备 AI 辅助编程经验优先” “…...