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

黑群晖NAS部署DeepSeek模型与内网穿透实现本地AI服务

在这里插入图片描述

文章目录

    • 前言
    • 1.安装Container Manager
    • 2. 启动ssh功能
    • 3. ssh连接黑群晖
    • 4. 安装Ollama
    • 5. 安装deepseek模型
    • 6. 安装open-webui图形界面
    • 7. 安装内网穿透
      • 7.1 下载cpolar套件
      • 7.2 配置群辉虚拟机
      • 7.3 配置公网地址
        • 小结
      • 7.4 配置固定公网地址
    • 总结

前言

在追求自建网络存储方案的极客群体中,开源群晖系统已成为广泛应用的搭建方式。通过改造现有硬件资源构建的自定义存储平台,不仅解决了基础的数据管理需求,更赋予了技术实践的独特价值。当生成式AI技术的快速发展推动DeepSeek成为行业焦点时,该模型对计算资源的高需求确实带来了挑战。本文将探讨如何在自建存储架构中实现DeepSeek模型的部署优化,帮助用户构建个性化的AI应用环境。特别值得关注的是,借助内网穿透技术,即便在没有公网IP地址的情况下,也能实现对本地服务的远程访问。现在让我们进入实践环节,开启这场技术整合的创新之旅。

image-20250314173033529

1.安装Container Manager

首先,我们需要准备好一台安装了黑群晖系统的主机,不会安装的小伙伴可以参考一下这篇文章,从零开始在Windows使用VMware虚拟机安装黑群晖7.2系统并实现远程访问

首先访问黑群晖web管理界面(http://黑群晖主机IP+端口号)打开群晖的套件中心,先安装好Container Manager:

image-20250314153450736

image-20250314153739711

2. 启动ssh功能

打开群晖控制面板,终端机和SNMP,在“启动SSH功能”处打勾,端口号默认22,点击应用:

image-20250314153853797

3. ssh连接黑群晖

在电脑上打开CMD或Powershell等SSH工具,填写黑群晖的IP地址,SSH端口,群晖管理员账号,输入管理员密码登录:

image-20250314154112732

PS:黑群晖的IP在群晖助手中查看:

image-20250314154207561

然后输入 sudo -i 回车,再次输入管理员密码回车,进入root状态下;

image-20250314154250854

4. 安装Ollama

在终端中执行下方命令即可启动Ollama容器:

docker run --name ollama -d \
--restart always \
--net=host \
-v /volume1/docker/ollama:/root/.ollama \
ollama/ollama:latest

其中/volume1/docker/ollama是提前在NAS中创建好的AI模型的下载路径,请根据自己实际路径填写。

image-20250314155427016

image-20250314162432169

Ollama容器启动完毕后,打开群晖Container Manager,点击容器:

image-20250314162543601

可以看到ollama容器确实已经在运行中:

image-20250314162603154

5. 安装deepseek模型

右键打开终端机:

image-20250314162726254

然后点击新增–通过命令行启动:

image-20250314162817387

本教程安装的是deepseek-r1 1.5B的模型,复制下方命令:

ollama run deepseek-r1:1.5b

如果你想安装别的模型,可以把命令中的1.5b换成你想安装的模型名称(字母用小写)

ollama官网deepseek模型下载地址:https://ollama.com/library/deepseek-r1

image-20250314163037096

点击确定:

image-20250314163247852

安装中,请耐心等待:

image-20250314163317900

当看到有显示 success 的时候,表示deepseek模型已经安装成功:

image-20250314164043001

我们现在就可以在终端中对deepseek提问进行聊天了:

image-20250314164208733

但是在终端界面中聊天可能不是很美观,而且在复制回答时也不太方便,我们可以通过安装一个Web UI界面来解决这个问题。

6. 安装open-webui图形界面

打开群晖file station,在非中文、没有特殊符号的文件夹中,建立一个名称为open-webui的子文件夹,

image-20250314164523902

右键open-webui的文件夹,点属性,复制这里显示的路径:

image-20250314164621282

打开cmd或powershell等终端工具,执行下方命令安装open-webui图形界面:

docker run --name open-webui -d --restart always --net=bridge -p 3000:8080 -e OLLAMA_BASE_URL="http://192.168.50.142:11434" -v /volume1/wdgx/tool/open-webui:/app/backend/data ghcr.io/open-webui/open-webui:main

注意:上边命令中的IP需要替换为你的黑群晖主机IP,/volume1/wdgx/tool/open-webui路径需要替换为你实际创建的open-webui路径。

image-20250314171024699

open-webui容器启动后,在浏览器打开http://群晖的IP:3000,即可看到open-webui的登录界面:

cb871721d452e6ca02f1b0db5beff1e

输入信息创建管理员账号后,即可跳转到web聊天界面,并能看到已经默认选择了刚才本地部署的deepseek-r1模型:

image-20250314172738659

现在我们就能在网页中和deepseek聊天了,和刚才在终端对比,不仅增加了更多功能,界面也更加美观了:

image-20250314172943488

7. 安装内网穿透

我们现在已经实现了在本地黑群晖NAS中部署Ollama并接入Deepseek-R1模型,并快速搭建Open WebUI界面实现同一局域网内用户都能在网页中与AI模型聊天。

但如果你的主机配置很不错,想让异地好友或者同事也能远程使用你在本地黑群晖NAS中部署的deepseek大模型应该怎么办呢?

虽然黑群晖没有quickconnect功能(无法公网环境远程访问),但只要安装一个cpolar内网穿透工具就能轻松实现远程访问内网主机中部署的服务了,他人无需二次部署,节约成本,提高效率,接下来介绍一下如何安装cpolar内网穿透。

cpolar官网地址: https://www.cpolar.com

7.1 下载cpolar套件

群晖系统的软件安装程序与在windows系统有很大不同,首先,我们下载cpolar的群晖系统套件。

首先登录cpolar的官网(https://www.cpolar.com/),点击网页上方的“下载”按钮:

20230303102329

在cpolar下载页面找到“NAS群晖”选项,点击“立即下载”。

20230303102330

进入cpolar的NAS群晖下载页面后,在下拉菜单中选择NAS群晖型号,以及群晖系统版本。

image-20250304161703129

本教程中,我们可以通过群晖搜索助手看到型号是:DS3622xs+

image-20250304161806791

回到cpolar群晖下载页面,选择好型号、版本、点击下载:

image-20250304161855850

下载后的cpolar安装文件为:cpolar_x64-7.0_3.2.92-1.spk

回到群晖系统中,点击进入“套件中心”,点选右侧的“手动安装”按钮:

image-20250304162127519

此时会出现一个“上传套件”的页面,在这里点击“浏览”按钮,选择我们下载的cpolar套件位置,下一步:

image-20250304162327392

点击同意:

image-20250304162359785

点击完成:

image-20250304162422671

只需等待很短时间,cpolar就能安装完成,此时回到套件中心主页,就能看到cpolar已经加入了“已安装”列表内。

image-20250304162451418

此时我们点击cpolar,就能进入cpolar软件信息页。在这里,我们能找到访问cpolar客户端的URL(cpolar客户端采用Web-UI界面,因此是URL地址)

image-20250314174016204

在新开的Cpolar Web-UI界面中,可以通过该页面下方的“免费注册”链接,快速轻松的获得cpolar账号。

7.2 配置群辉虚拟机

我们在文章第2步已经启动了ssh功能,可以跳过这步了,但还是再提一遍如何操作吧!

要让群晖系统接受远程操作和访问,我们还需要进行几个简单设置。首先在群晖的控制面板内找到“终端机和SNMP”选项:

image-20250304162907179

进入“终端机和SNMP”项后,勾选“启动SSH功能”,如果想要更改端口,必须将端口号记牢,避免之后cpolar设置时端口号错误(注:由于群晖周边套件占用了大量端口,若无必要尽量不要修改默认端口号)。

image-20250304162940677

7.3 配置公网地址

打开cpoalr套件,点击:9200链接:

image-20250314174328811

输入Cpolar邮箱账号与密码进行登录:

image-20250314174634322

在cpolar管理界面,点击左侧仪表盘的隧道管理——创建隧道,创建一个的公网地址隧道!

  • 隧道名称:可自定义命名,我这里使用了 openwebui 注意不要与已有的隧道名称重复
  • 协议:选择 http
  • 本地地址:3000
  • 域名类型:免费选择随机域名
  • 地区:选择China Top

点击创建

image-20250314174806141

隧道创建成功后,点击左侧的状态——在线隧道列表,查看所生成的公网访问地址,有两种访问方式,一种是http 和https。

image-20250314174918958

使用上面cpolar生成的公网地址可以看到成功的访问到了open webui的界面当中了:

image-20250314175051367

输入刚才创建的管理员邮箱密码即可正常登录使用deepseek或其他部署在本地的大模型了:

image-20250314175205598

小结

为了更好地演示,我们在前述过程中使用了cpolar生成的隧道,其公网地址是随机生成的。这种随机地址的优势在于建立速度快,可以立即使用。然而,它的缺点是网址由随机字符生成,不太容易记忆(例如:3ad5da5.r10.cpolar.top)。另外,这个地址在24小时内会发生随机变化,更适合于临时使用。

我一般会使用固定二级子域名来为本地部署的服务配置公网地址,这样将网址发送给同事或客户时,它是一个固定、易记的公网地址(例如:linuxsystem.cpolar.cn),这样更显正式,便于流交协作。

7.4 配置固定公网地址

如果有长期远程访问本地黑群晖NAS,或者异地访问与使用其他本地部署的服务的需求,但又不想每天重新配置公网地址,还想让公网地址好看又好记并体验更多功能与更快的带宽,那我推荐大家选择使用固定的二级子域名方式来配置公网地址。

登录cpolar官网 https://www.cpolar.com,点击左侧的预留,选择保留二级子域名,设置一个二级子域名名称,点击保留:

image-20250314175519752

保留成功后复制保留的二级子域名名称:myopen

image-20250314175545608

返回登录Cpolar web UI管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到所要配置的隧道openwebui,点击右侧的编辑:

image-20250314175626775

修改隧道信息,将保留成功的二级子域名配置到隧道中

  • 域名类型:选择二级子域名
  • Sub Domain:填写保留成功的二级子域名

点击更新(注意,点击一次更新即可,不要重复点击)

image-20250314175706667

更新完成后,打开在线隧道列表,此时可以看到公网地址已经发生变化,地址名称也变成了固定的二级子域名的名称域名:

image-20250314175747709

最后,我们使用任意一个cpolar生成的固定公网地址访问,可以看到同样成功访问open webui界面,这样一个固定且永久不变的公网地址就设置好了!

image-20250314180020489

总结

本指南完整解析了基于黑群晖NAS平台,利用容器化技术实现Ollama与Deepseek-R1模型的模块化部署,并创建可视化操作界面的具体方法。该部署方案有效缓解了云端AI服务常见的服务延迟问题,使用户无需依赖第三方公共接口即可实现稳定的本地AI服务调用。特别值得注意的是,采用内网穿透技术后,本地交互平台获得了可靠的公网接入能力,成功突破了地域限制,实现了远程访问功能。无论用户身处任何位置,均可通过标准网络协议与私有AI服务建立无缝连接。诚邀各位在讨论区分享您的部署心得或创新应用场景,共同探索NAS架构与人工智能技术的融合潜力,将黑群晖系统升级为智能化生活的核心控制中枢。

相关文章:

  • FastJSON 1.2.83版本升级指南:安全加固与性能优化实践
  • BERT vs BART vs T5:预训练语言模型核心技术详解
  • mysql 的卸载- Windows 版
  • Kotlin 中的继承/实现
  • 【Git】面对发布或重要节点,Git如何打Tag?
  • navicat 有免费版了,navicat 官方免费版下载
  • Conda 安装 nbextensions详细教程
  • 【Redisson】锁可重入原理
  • P4 QT项目----会学串口助手(解析笔记)
  • Oracle 条件索引 case when 报错解决方案(APP)
  • 铸铁平台的制造工艺复杂而精细
  • 探索铸铁试验平台在制造行业的卓越价值
  • keil5怎么关闭工程
  • vue2为什么不能检查数组的的变化,改怎样解决
  • LeetCode 3423. Maximum Difference Between Adjacent Elements in a Circular Array
  • 【Zephyr 系列 20】BLE 模块产线测试系统设计:快速校验、参数写入、自动识别的完整方案
  • 数字签名CA数字证书
  • 树莓派5实现串口通信教程
  • Karate整合PlayWright方式之playWright Driver
  • mysql 关联表查询,索引失效
  • 网站怎么做任务赚钱吗/网络营销的概念和特点
  • 新沂网站制作/图片优化是什么意思
  • 广州网站建设制作价格/1个百度指数代表多少搜索
  • 注册深圳公司的好处/优化设计官方电子版
  • 汕头网站seo外包/百度的企业网站
  • 代做ppt网站好/百度seo排名培训优化