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 的实践,我们不仅拓宽了技术视野,更在保障数据安全与高效利用工具之间找到了平衡。相信这次分享能为有类似需求的同行们提供有价值的参考。
如果你觉得文章内容对你有所启发,不妨点赞、关注支持一下。要是你在实际操作中遇到了不一样的情况,或是有独特的见解和经验,欢迎在评论区分享交流,大家共同进步。
相关文章:
deepseek内网离线部署手册
前言 在当下 AI 浪潮汹涌的时代,DeepSeek 以其卓越的性能和出色的表现,迅速成为了众多专业人士和科技爱好者热议的焦点工具。在众多AI大模型的比拼中,DeepSeek 展现出了优越的实力。然而,对于许多企业和组织而言,出于…...
第七次作业,网络防御高级
拓扑:1 接口ip配置和区域划分: fw1: [fw1]interface GigabitEthernet 0/0/0 [fw1-GigabitEthernet0/0/0]service-manage all permit [fw1]firewall zone trust [fw1-zone-trust]add interface GigabitEthernet 1/0/0 [fw1]securi…...
“AIGC”狂飙:一场正在撕裂传统产业链的“智能革命”
前言 在过去的几年中,人工智能技术经历了飞速的发展,深刻地改变了全球科技产业的格局。2023年被称为“AI元年”,这一年的标志性事件包括ChatGPT的发布和大语言模型的快速崛起,这些技术突破不仅引发了全球范围内的关注,…...
【鸿蒙开发】Hi3861学习笔记- 定时器中断
00. 目录 文章目录 00. 目录01. 概述02. 定时器相关API2.1 hi_timer_create2.2 hi_timer_start2.3 hi_timer_stop2.4 hi_timer_delete 03. 硬件设计04. 软件设计05. 实验现象06. 附录 01. 概述 定时器,顾名思义就是用来计时的,我们常常会设定计时或闹钟…...
GB9706.1-2020部分定义
一、可拆卸的网电源连接器 1、器具耦合器 2、设备电源输入插口 3、可拆卸电源软电线 4、ME 设备 5、固定的网电源插座/多位插座(MSO) 6、网电源连接器 7、网电源插头 二、可拆卸的网电源连接 1、器具输入插座 2、患者连接 3、电线管 4、可拆卸电源软电线 5、外壳 6、固定…...
PCL 多项式拟合点法线(二维)
文章目录 一、简介二、实现代码三、实现效果参考资料一、简介 这个思路其实很简单,假设我们有一组曲线点,我们可以对其拟合曲线并计算其导数来获取每个点的法向量,当然这一思路也可以扩展至三维。具体过程如下所示: 二、实现代码 PolyFit.h #pragma once/* ** 基于最小二乘…...
docker中安装Ghost报错Error: connect ECONNREFUSED 127.0.0.1:3306
今天尝试在docker中运行ghost报错 "Unknown database error"Error ID:500Error Code: ECONNREFUSED----------------------------------------Error: connect ECONNREFUSED 127.0.0.1:3306at /var/lib/ghost/versions/5.112.0/node_modules/knex-migrator/lib/datab…...
Java创造型模式之原型模式详解
设计模式是面向对象设计中的一种标准方法,用于解决常见的设计问题。原型设计模式(Prototype Pattern)是23种经典设计模式之一,属于创建型模式,它允许通过复制现有对象来创建新对象,而不是通过构造函数或工厂…...
3.17日Man2Marine
上游任务 vs. 下游任务 任务类型作用你的研究中的例子上游任务(Upstream Task)训练通用的音频表示,提供特征在大规模人类语音数据集上进行自监督学习下游任务(Downstream Task)利用上游任务学到的特征进行具体任务微调模型进行海洋哺乳动物叫声分类在 NLP(自然语言处理)…...
Fisher信息、梯度方差与学习率调度器的计算流程
Fisher信息、梯度方差与学习率调度器的计算流程 目录 Fisher信息、梯度方差与学习率调度器的计算流程**步骤1:定义模型与数据集****步骤2:计算梯度与Fisher信息****步骤3:计算梯度方差****步骤4:定义学习率调度器****步骤5:参数更新流程****示例输出****关键概念说明**步骤…...
209、不大于n的数的组合(python)
题目 已知一个数n和可组合的数字集合s,通过组合数字集合构成一个数x,使其不大于n。 例如: n 22356789 a [2, 3, 4, 8, 9] x 22349999 代码实现 n 22356789 a [2, 3, 4, 8, 9] a.sort() s str(n) tag True res [] for i in range…...
Matlab 汽车电子驻车系统仿真分析
1、内容简介 Matlab 176-汽车电子驻车系统仿真分析 可以交流、咨询、答疑 2、内容说明 略 摘 要: 论述了电子驻车制动控制系统的基本结构 、 组成及功能,并基于 Matlab/Simulink ,构建了包括直流电机 、 丝杠螺母及其内部 零件和相关摩擦力…...
蓝桥杯备考----模拟算法 phone number
嗯。这道题可以在两个和三个数字加-,我们只要随便输出一个奏行 那么!我们规范一下,我们尽可能的只在两个数字之间加,但是如果一共奇数个的话,我们就让最后三个成一组,也就是说,我们用的是个小贪…...
Unity WebGL IIS报错无法使用
Unity WebGL IIS报错无法使用 原因1:WebGL文件夹无访问权限 右键WebGL文件夹-属性 点击安全-编辑-添加 输入ever点击确定-应用即可...
【算法学习之路】11.并查集
并查集 前言一.简介二.基础并查集三.基础并查集题目12 四.种类并查集(扩展域并查集)五.种类并查集的题目 前言 我会将一些常用的算法以及对应的题单给写完,形成一套完整的算法体系,以及大量的各个难度的题目,目前算法也…...
第三课:Python递归编程艺术(从基础到优化)
递归,作为编程中一种优雅而强大的技术,以其简洁的代码风格和强大的问题解决能力,在算法设计中占据着举足轻重的地位。然而,递归的奥秘不仅仅在于其表面的简洁,更在于其背后的逻辑深度与优化技巧。本文将深入探讨递归编…...
插入排序程序并行化
一 插入排序 插入排序是稳定的原地排序算法,核心思想是逐步构建有序序列。对于未排序部分的每个元素,在已排序序列中从后向前扫描,找到合适位置插入。 二 并行化思路 1 分块排序 将数组分成多个子块,每个线程使用插入排序处理一块。 2 归并合并 将各有序子块归并成最终数…...
【系统架构设计师】操作系统 - 文件管理 ③ ( 树形目录结构 | 文件属性 | 绝对路径 与 相对路径 )
文章目录 一、树形目录结构1、树形目录结构 概念简介2、树形目录结构 组成3、文件属性4、树形目录结构 示例 二、绝对路径 与 相对路径1、绝对路径2、相对路径3、绝对路径 与 相对路径 对比 一、树形目录结构 1、树形目录结构 概念简介 " 树形目录结构 “ 又称为 ” 多级目…...
【量化科普】Standard Deviation,标准差
【量化科普】Standard Deviation,标准差 🚀量化软件开通 🚀量化实战教程 在量化投资领域,标准差(Standard Deviation)是一个非常重要的统计指标,用于衡量一组数据的离散程度。简单来说&#…...
实验三 Python 数据可视化 Python 聚类-K-means(CQUPT)
一、实验目的 Python 数据可视化: 1、学习使用 jieba、wordcloud 等类库生成词云图。 2、学习使用 Matplotlib 库进行数据可视化。 Python 聚类-K-means: 1、理解聚类非监督学习方法的基本原理。 2、掌握 Python、numpy、pandas、sklearn 实现聚类…...
东方通TongHttpServer:企业级服务代理中间件的卓越之选
随着信息技术的飞速发展,企业对于高性能、高安全性的中间件需求日益增长。东方通作为中国中间件领域的领军企业,凭借其在“安全”、“数据”和“智慧”三大产品体系上的深厚积累,推出了TongHttpServer(简称THS)&#x…...
EB-Cable许可证的常见问题及解决方案
在使用EB-Cable软件时,许可证问题可能是用户经常遇到的挑战之一。为了帮助用户更好地理解和解决许可证相关的问题,本文将列举一些常见的EB-Cable许可证问题,并提供相应的解决方案。 常见问题一:许可证激活失败 问题描述ÿ…...
ZED X系列双目3D相机的耐用性与创新设计解析
在工业自动化和学术研究领域,高精度的视觉设备正成为提升效率和质量的关键。ZED X系列AI立体相机,凭借其先进的技术和耐用的设计,为这一领域带来了新的可能。 核心技术:深度感知与精准追踪 ZED X系列的核心技术之一是Neural Dept…...
深入解析Java面向对象三大特征之多态、final、抽象类与接口
面向对象编程(OOP)的三大核心特征为封装、继承、多态,其中多态是最具灵活性和扩展性的特性。本文将从多态的本质出发,结合final关键字、抽象类与接口的设计,深入探讨这些概念的应用场景及其在代码中的实现细节…...
jmeter 循环控制器遍历列表中的数据
jmeter遍历列表中的数据并使用if控制器做相应的处理 测试场景请求获取列表接口发送请求JSON Extractor 提取对应字段 Loop Controller计数器If Controller 测试场景 请求获取列表接口使用循环控制器遍历接口,根据state字段判断是否发起其他请求 请求获取列表接口 …...
【Linux内核系列】:进程板块与文件板块的综合
🔥 本文专栏:Linux 🌸作者主页:努力努力再努力wz 💪 今日博客励志语录: 人生中成功只是一时的,失败却是人生的主旋律,但是如何面对失败却把人分成了不同的样子,有的人会被…...
深入理解嵌入式开发中的三个重要工具:零长度数组、container_of 和 typeof
在嵌入式开发中,内核开发者经常需要处理复杂的数据结构和动态内存分配。零长度数组、container_of 宏和 typeof 是内核开发中三个非常重要的工具,它们在结构体管理、内存操作和类型处理中发挥着关键作用。本文将详细探讨这三个工具的功能、应用场景及其在内核开发中的重要性。…...
第27周JavaSpringboot git初识
Git 课程笔记 一、Git 的介绍 1. Git 的诞生背景 Git 是 Linux 内核的作者 Linus Torvalds 为了更好地管理 Linux 内核开发而创建的版本控制系统。在 Linux 内核开发初期,由于开发者众多,协作成本很高,后来使用了 BitKeeper 工具来辅助协作…...
实战2. 利用Pytorch解决 CIFAR 数据集中的图像分类为 10 类的问题——提高精度
实战2. 利用Pytorch解决 CIFAR 数据集中的图像分类为 10 类的问题——提高精度 前期准备加载数据建立模型模型训练质量指标 让我们回到图像分类问题 CIFAR。 你的主要任务:实现整个模型训练流程,并在测试样本上获得良好的准确度指标值。 任务积分&#…...
CentOS高性能数据处理优化指南
在CentOS系统中,为实现高性能数据处理,需要从多个层面进行优化,包括系统配置、内核参数、硬件资源管理及软件优化等。 一、硬件优化 选择合适硬件是优化性能的基础,大规模数据处理任务建议使用多核CPU、大容量内存、SSD存储以及…...
深度剖析:Pytest Fixtures如何重塑自动化测试的可读性与高效性
关注开源优测不迷路 大数据测试过程、策略及挑战 测试框架原理,构建成功的基石 在自动化测试工作之前,你应该知道的10条建议 在自动化测试中,重要的不是工具 在编写单元测试时,是否发现自己写了很多相同/相似代码呢? 像…...
AIP-181 稳定级别
编号181原文链接AIP-181: Stability levels状态批准创建日期2019-02-18更新日期2019-02-18 虽然不同组织(谷歌或其他组织)拥有不同的产品生命周期,AIP使用以下术语指代API组件 稳定性 。 注意 这些稳定级别大致对应于Google Cloud中的产品发…...
比较 (leetcode 452. 用最少数量的箭引爆气球 leetcode 435. 无重叠区间 leetcode 56. 合并区间
leetcode系列 文章目录 一、射箭引爆气球二、无重叠区间三、合并区间总结 提示:小白个人理解,如有错误敬请谅解! 对于此类题目,都先按左区间排序,之后根据重叠还是不重叠来进行操作 一、射箭引爆气球 找到最大的重叠…...
什么是有限元力学?分而治之,将复杂问题转化为可计算的数学模型
有限元力学是应用有限元方法(Finite Element Method, FEM)解决力学问题的学科,属于计算力学的重要分支。它通过将复杂的连续体结构离散化为有限个简单单元的组合,结合数学和物理原理,近似求解力学行为(如应…...
python项目一键加密,极度简洁
在要加密的项目内运行python -m pip install py2safe 安装后cd到项目的根目录,运行py2safe 它会递归加密所有文件夹,不需要参数,拿过来就用,基于pyarmor开发,基本破解不了,太方便辣 这是readme文件,不仅提到了用法,还贴心的加入了口腔溃疡的治疗办法,真是太贴心了 # py2saf…...
STM32 ADC原理与驱动详解:从存储器映射到多通道采集(下) | 零基础入门STM32第六十六步
主题内容教学目的/扩展视频ADC读电位器和光敏重点课程电路原理,跳线设置,ADC功能分析,驱动程序,读出AD数据,读内部温度传感器数据。会设置参数,能读出AD值即可。 师从洋桃电子,杜洋老师 本文深入…...
JxBrowser 8.5.0 版本发布啦!
• 为 Compose Desktop 提供了硬件加速渲染支持 • 支持自定义 Chromium 二进制文件的品牌标识 • 多项质量改进 了解更多 获取 30 天免费试用...
LIN接口
LIN接口 前言LIN接口简介帧格式同步间隔段 (Break Field)同步段 (Sync Byte Field)受保护ID段 (Protected Identifier Field)数据段 (Data Field)校验和段 (Checksum Field) 帧在总线上的传输波形帧类型无条件帧事件触发帧偶发帧诊断帧保留帧 错误类型 IP 设计结构框图接口设计…...
【蓝桥杯每日一题】3.16
🏝️专栏: 【蓝桥杯备篇】 🌅主页: f狐o狸x 目录 3.9 高精度算法 一、高精度加法 题目链接: 题目描述: 解题思路: 解题代码: 二、高精度减法 题目链接: 题目描述&…...
prometheus-helm的使用
1、部署Prometheus监控平台 1、下载安装Prometheus (当前集群版本1.26.3) git clone https://github.com/prometheus-operator/kube-prometheus.git -b release-0.12 安装: cd kube-prometheus/ 创建命名空间和crd: kubectl …...
时间序列分析的军火库:AutoTS、Darts、Kats、PaddleTS、tfts 和 FancyTS解析
引言:时间序列分析的现代挑战 时间序列分析在多个领域中扮演着关键角色,包括工程、金融、气象、工业预测等。随着开源工具的快速发展,开发者可以通过多种库快速实现时间序列预测与分析。本文将对 AutoTS、Darts、Kats、PaddleTS、tfts 和 FancyTS 六大主流库进行详细解析,…...
TLSR8355F128芯片特色解析
TLSR8355F128 是泰凌微推出的一款高性能、低功耗的无线物联网芯片,具有以下特色: 丰富的协议支持:支持 2.4GHz 私有协议。这使得该芯片能够广泛应用于各种特殊的物联网场景,实现不同设备之间的互联互通。强大的处理能力ÿ…...
基于分类算法的学习失败预警(上)
文章目录 前言1.数据预处理1.1数据探索1.2数值化处理1.3空值填充1.4添加标签1.5特征筛选1.6数据集类别平衡1.7划分数据集1.8训练集类平衡1.9标准化 2.模型选择2.1建立模型2.2模型调参2.2.1遍历调参2.2.2网格搜索 结语 前言 本次案例通过对现有数据分析,采用如下图所…...
首页性能优化
首页性能提升是前端优化中的核心任务之一,因为首页是用户访问的第一入口,其加载速度和交互体验直接影响用户的留存率和转化率。 1. 性能瓶颈分析 在优化之前,首先需要通过工具分析首页的性能瓶颈。常用的工具包括: Chrome DevTo…...
整形在内存中的存储(例题逐个解析)
目录 一.相关知识点 1.截断: 2.整形提升: 3.如何 截断,整型提升? (1)负数 (2)正数 (3)无符号整型,高位补0 注意:提升后得到的…...
python中多重继承和泛型 作为模板让子类实现具体业务逻辑
示例代码: T TypeVar("T", bound"NoSQLBaseDocument")# 与 MongoDB 数据库交互的基础文档类 class NoSQLBaseDocument(BaseModel, Generic[T], ABC):id: UUID4 Field(default_factoryuuid.uuid4)def __eq__(self, value: object) -> bool…...
2025 香港 Web3 嘉年华:全球 Web3 生态的年度盛会
自 2023 年首届香港 Web3 嘉年华成功举办以来,这一盛会已成为全球 Web3 领域规模最大、影响力最深远的行业活动之一。2025 年 4 月 6 日至 9 日,第三届香港 Web3 嘉年华将在香港盛大举行。本届活动由万向区块链实验室与 HashKey Group 联合主办、W3ME 承…...
ERC-6909 最小多代币标准
ERC-6909 Token标准是 ERC-1155 Token标准的一种简化替代方案。 ERC-1155 标准引入了一种多Token接口,使得单个智能合约能够结合可替代的和不可替代的Token(即,ERC20 和 ERC721)。 ERC-1155 解决了多个挑战,例如降…...
07-单链表-单链表基本操作
题目 来源 826. 单链表 - AcWing题库 思路 详见代码,主要思想就是用数组来模拟链表的创建。数组其实跟静态链表等价,由于动态链表动态new对于大数据太过于耗时,因此采用数组的方式。那数组如何起到链表的效果?用下标来索引。 …...
FFMPEG录制远程监控摄像头MP4
手绘效果图 上图是录制功能的HTML前端页面,录制功能和解码视频放在一起。录制功能关键是录制(开始录制按钮)、停止录像按钮。当点击“录制”的时候则会开始录制MP4文件, 当点击停止的时候就会停止录制MP4。经过录制后,则会生成MP4,并放到我的RV1126的/tm…...