deepseek内网离线部署手册
前言
在当下 AI 浪潮汹涌的时代,DeepSeek 以其卓越的性能和出色的表现,迅速成为了众多专业人士和科技爱好者热议的焦点工具。在众多AI大模型的比拼中,DeepSeek 展现出了优越的实力。然而,对于许多企业和组织而言,出于数据安全、网络稳定性以及合规性等多方面的考量,将 DeepSeek 进行内网离线部署成为了一项紧迫且极具挑战性的任务。近期,因工作需要,完成了 DeepSeek 的内网离线部署,现在将部署经验分享给大家。
1. ollama安装部署
1.1 下载ollama的部署包
|
https://github.com/ollama/ollama/releases/download/v0.5.8/ollama-linux-amd64.tgz |
1.2 将部署包上传到服务器,然后进行解压
|
sudo tar -C /usr -xzf ollama-linux-amd64.tgz |
提示输入当前用户的密码
|
[sudo] password for XXX: |
然后等待解压缩文件,1-2分钟。
然后在/usr/bin目录下找到解压缩后的ollama文件
|
ls -lrt /usr/bin/ollama |

1.3 解压后,查看ollama的版本
|
ollama -v |

1.4 前台启动ollama
|
ollama serve |
启动成功后记录ollama服务的端口:127.0.0.1:11434,后续关联UI服务用到。

1.5 创建 Ollama 的用户和组并且指定该用户的主目录
|
sudo useradd -r -s /bin/false -U -m -d /usr/share/ollama ollama sudo usermod -a -G ollama $(whoami) |
|
注释:命令解释 1. sudo useradd -r -s /bin/false -U -m -d /usr/share/ollama ollama
这是用于在 Linux 系统中创建新用户的命令。
该参数表示创建一个系统用户。系统用户通常用于运行系统服务或守护进程,它们一般不用于交互式登录,其 UID(用户标识符)通常小于 1000(在某些系统中可能规则略有不同)。
该参数会自动创建一个与用户名相同的用户组,并将该用户添加到这个组中。例如,这里会创建一个名为
此参数表示在创建用户时,自动为该用户创建主目录。主目录是用户在系统中的个人工作空间,通常包含用户的配置文件、文档等。
这是要创建的新用户的用户名。 2. sudo usermod -a -G ollama $(whoami)
这是一个用于修改用户账户信息的命令。可以对已存在用户的各种属性进行修改,比如用户名、用户 ID、主目录、所属用户组等。
这是一个命令替换的语法。 |
1.6 配置系统自启动
先在 `/etc/systemd/system/` 目录下创建一个名为 `ollama.service` 的服务文件。
|
sudo vim /etc/systemd/system/ollama.service |
然后在打开的 `vim` 编辑器中,输入以下示例内容:
|
[Unit] Description=Ollama Service After=network-online.target [Service] ExecStart=/usr/bin/ollama serve User=ollama Group=ollama Restart=always RestartSec=3 Environment="PATH=$PATH" Environment="OLLAMA_HOST=0.0.0.0:11434" Environment="OLLAMA_ORIGINS=*" [Install] WantedBy=default.target |
在 `vim` 编辑器中,按下 `Esc` 键,然后输入 `:wq` 并按下回车键,即可保存并退出编辑器。
1.7 系统的方式启动ollama
|
1,重新加载 `systemd` 管理器配置 sudo systemctl daemon-reload 2,启动服务 sudo systemctl start ollama.service 3,查看服务状态 sudo systemctl status ollama.service 4,设置服务开机自启 sudo systemctl enable ollama.service 5,重启服务 sudo systemctl restart ollama.service 6,停止服务 sudo systemctl stop ollama.service |
查看服务状态,确定ollama服务处于运行中。

2. 下载模型文件
2.1 下载模型
|
可以访问https://www.modelscope.cn/models网址进行模型下载 |
2.2 下载deepseek蒸馏过的模型,找到以GGUF为结尾的模型

|
比如:DeepSeek-R1-Distill-Qwen-7B-GGUF:选择合适机器的模型。 https://www.modelscope.cn/models/unsloth/DeepSeek-R1-Distill-Qwen-7B-GGUF |

2.3 下载好的模型,需要上传到ollama部署的服务器
2.4 导入模型
|
1.模型文件同级目录下创建一个文件,这里命名叫做
|

2.5模型导入完成后,查看导入的模型
|
ollama list |
2.6 运行导入的模型
|
ollama run <上一步定义的模型名称> ollama run |

到这步deepseek模型已经部署好了,但是只能后台命令运行,不方便,需要再部署一个UI前台服务方便使用。
3. 部署ollama-ui(docker方式部署)
3.1 下载ollama-ui的部署包
|
1.找一台可以科学联网的linux服务器,且该服务部署了docker 参考网址:https://github.com/jakobhoeg/nextjs-ollama-llm-ui 2.使用docker的方式拉取镜像 docker pull jakobhoeg/nextjs-ollama-ui 3.镜像拉取成功,打包镜像 docker save -o jakobhoeg_nextjs-ollama-ui.tar jakobhoeg/nextjs-ollama-ui:latest |
3.2 将上面打包好的镜像包,上传到内网环境
|
1.内网环境,找一台安装了docker的服务器 2.加载镜像包 docker load -i jakobhoeg_nextjs-ollama-ui.tar 3.查看镜像 docker images |

3.3 启动ollama-ui
|
1.ollama和ollama-ui没有部署在同一台服务器 (example.com需要更改为部署了ollama的服务器ip) docker run -d -p 3000:3000 --add-host=host.docker.internal:host-gateway -e OLLAMA_URL=http://example.com:11434 --name nextjs-ollama-ui --restart always jakobhoeg/nextjs-ollama-ui:latest 2.ollama和ollama-ui部署在同一台服务器 docker run -d -p 3000:3000 --add-host=host.docker.internal:host-gateway -e OLLAMA_URL=http://host.docker.internal:11434 --name nextjs-ollama-ui --restart always jakobhoeg/nextjs-ollama-ui:latest --修改ollama-ui默认监听端口 先查看端口是否被占用 netstat -tuln | grep 8000 没占用的话,即可修改UI监听端口 这里 8000 是宿主机的端口,3000 是容器内部服务监听的端口。 docker run -d -p 8000:3000 --add-host=host.docker.internal:host-gateway -e OLLAMA_URL=http://host.docker.internal:11434 --name nextjs-ollama-ui --restart always jakobhoeg/nextjs-ollama-ui:latest |

3.4 打开浏览器,访问ollama-ui
http://host:8000/,选择模型,对话测试下

deepseek内网离线部署手册的更多相关文章
- kubernetes 内网节点部署笔记(一)
在Centos7上部署kubernetes时,碰到很多坑,特别在摸拟在内网部署时,有来自GFW的障碍,有来自Firewalld的阻塞,反正是各种不服,终于慢慢理顺了思路,自己记录一下,防止遗忘. 环境 ...
- yum仓库配置与内网源部署记录
使用yum的好处主要就是在于能够自动解决软件包之间的依赖.这使得维护更加容易.这篇文章主要就是记录部署内网源的操作过程以及yum工具如何使用 因为需要.数据库要从Oracle迁移至MySQL.在部署M ...
- k8s内网安装部署(二)
续上篇 https://www.cnblogs.com/wangql/p/13397034.html 一.kubeadm安装 1.kube-proxy开启ipvs的前置条件 modprobe br_n ...
- Gradle AndroidStudio内网离线构建配置踩坑记录
最近一家新公司,由于办公环境都是在内网机上,导致在Unity导出android工程后,gradle离线构建也是第一次搞,花了一天时间也踩了一些坑,最后也终于构建成功了,这里记录下,方便大家少走些弯路. ...
- Linux系统如何在离线环境或内网环境安装部署Docker服务和其他服务
如何在离线环境或纯内网环境的Linux机器上安装部署Docker服务或其他服务.本次我们以Docker服务和Ansible服务为例. 获取指定服务的所有rpm包 保证要获取rpm包的机器能够上网. 本 ...
- Microsonf visual c++ 14+ 离线内网安装
内网离线安装方法:先下载官方的visualcppbuildtools: <br href=http://go.microsoft.com/fwlink/?LinkId=691126 >& ...
- 工具篇:使用natapp工具映射内网到外网访问
一.环境说明 开发基于微信公众号的应用最大的痛苦之处就是调试问题,每次实现一个功能后都需要部署到一个公网服务器进行测试,因为微信用户每次向公众号发起请求时,微信服务器会先接收到用户的请求,然后再转发到 ...
- 内网网络摄像机(RTSP/IPC/NVR)如何能在公网进行RTMP/HLS/HTTP-FLV直播
一.背景需求 传统监控行业里不管是设备端.服务器端亦或是客户端都在一个内网里面.而且现在的大部分监控方案都是这样的格局,小到一个公司范围内的监控,再到一个园区.一个仓库监控.一个农业园林监控.一个养殖 ...
- frp 用于内网穿透的基本配置和使用
frp 用于内网穿透的基本配置和使用 今天是端午节,先祝端午安康! frp 是一个专注于内网穿透的高性能的反向代理应用,支持 TCP.UDP.HTTP.HTTPS 等多种协议.可以将内网服务以安全.便 ...
- Hyperledger Fabric 1.0 从零开始(三)——环境构建(内网/准离线)
有公网环境的服务器可以直接看 Hyperledger Fabric 1.0 从零开始(二)--环境构建(公网) ,本篇内容与上篇相似,只不过环境搭建需要在内网下,也就是网络被限制的情况下. 1:环境构 ...
随机推荐
- 概率论与数理统计教程(第二版,茆诗松,2010)PDF下载
概率论与数理统计教程(第二版,茆诗松,2010)PDF下载:共享地址
- 基于开源IM即时通讯框架MobileIMSDK:RainbowChat-iOS端v9.0版已发布
关于MobileIMSDK MobileIMSDK 是一套专门为移动端开发的开源IM即时通讯框架,超轻量级.高度提炼,一套API优雅支持 UDP .TCP .WebSocket 三种协议,支持 iOS ...
- Python依赖库的导入、导出 | 解决内网安装模块问题 | Python
通过在有网的机器A下下载所有的依赖包至package文件夹下: pip3 download -r requirements.txt -d ./package 将依赖包移动至没有网的机器B下,指定依赖包 ...
- Xrm.Internal.openDialog打开对话框自定义页面
在Dynamics CRM平台中使用自定义页面拓展功能实现有多种方式,比如嵌套iframe,比如直接打开一个新页面,再就是打开对话框了,对话框里为自定义页面. 调用方式很简单,先把自定义页面上传好后, ...
- Solution -「SDOI 2017」「洛谷 P3706」硬币游戏
\(\mathscr{Description}\) Link. 给定 \(n\) 个长度为 \(m\) 且两两不同的字符串 \(S_{1..n}\), 字符集 \(|\Sigma|=2\). ...
- CDS标准视图:应收账龄表 I_ARJrnlEntrItmAgingGrid
视图名称:应收账龄表 I_ARJrnlEntrItmAgingGrid 视图类型:参数 视图代码: 点击查看代码 @AbapCatalog.sqlViewName: 'IARJEITMAGGRID' ...
- 在shell脚本中为日志添加颜色
在 Shell 脚本中,可以通过添加 ANSI 转义序列来为日志输出添加颜色.以下是一个完整的 Shell 脚本示例,包含日志颜色定义.日志函数封装以及使用示例: 完整脚本:colored_logs. ...
- 深入理解第三范式(3NF):数据库设计中的重要性与实践
title: 深入理解第三范式(3NF):数据库设计中的重要性与实践 date: 2025/1/17 updated: 2025/1/17 author: cmdragon excerpt: 在数据库 ...
- Python基于自定义方法的排序
Python基于自定义方法的排序 在Python中,排序是一个常见的任务,它可以帮助我们根据特定的规则对数据结构(如列表)中的元素进行排序.Python的内置排序方法,如列表的sort()函数和内置函 ...
- 银杏叶也是yxy
今年下半年(9月后)第一个使我震撼而狂喜的书籍,金阁寺. 翻译是林少华.他翻译这个可比村上春树好多了 一切都像梦寐一般,一切都如此完美 完美的结构,完美的心理叙述,撕心裂肺的景色描写 战后无限的虚无与 ...