DeepSeek-R1国产大模型实战:从私有化部署到内网穿透远程使用全攻略

文章目录

    • 前言
    • 1. 安装Ollama
    • 2. 安装DeepSeek-r1模型
    • 3. 安装图形化界面
      • 3.1 Windows系统安装Docker
      • 3.2 Docker部署Open WebUI
      • 3.3 添加Deepseek模型
    • 4. 安装内网穿透工具
    • 5. 配置固定公网地址

前言

最近,国产AI界的黑马——Deepseek,简直火得一塌糊涂。不过,你是不是已经对手机APP和网页版的体验感到腻了?别担心,今天就带你玩点新鲜的!咱们来解锁一个超级炫酷的操作:在你的Windows电脑上本地部署Deepseek。这不仅让你享受极速流畅的互动快感,还能让你瞬间变身AI圈的技术大神!整个过程简单到令人发指,跟着我一步步来吧。

image-20250205165349645

1. 安装Ollama

首先访问Ollama的官网:Download Ollama on Windows

下载适配你的操作系统的客户端,我这里使用的是Windows11系统,点击下载即可:

image-20250205152613479

下载好之后,双击打开:

image-20250205153517007

点击Install安装:

PS:默认是安装在C盘,需要预留2G以上的存储空间。

image-20250205153557206

安装好之后,我们按住Win+R键,在运行框中输入cmd打开Windows系统自带的终端界面:

image-20250205154133040

然后输入ollama回车,看到下面信息即为安装成功!

image-20250205154055584

2. 安装DeepSeek-r1模型

回到 Ollma 官网,点击 Model:

页面跳转后可以看到第一个就是DeepSeek-r1模型:

image-20250205154710576

然后,点击它,在打开的页面中我们可以选择想要下载的各种量级的模型,右侧则是对应的模型下载命令:

image-20250205154929276

我这里下载1.5b的轻量级deepseek模型进行演示,大家可以根据自己喜好选择其他量级的模型:

它的下载命令是:

ollama run deepseek-r1:1.5b

在刚才打开的cmd终端中,执行这行命令:

PS:同样需要预留2G以上存储空间

稍等一会儿就能看到deepseek模型已经下载到了本地电脑,并提示我们可以发送信息进行交互了!

image-20250205155421941

输入问题,马上就能收到回答,速度挺快的:

image-20250205155724879

3. 安装图形化界面

现在我们已经能够在本地Windows电脑上正常使用deepseek-r1模型与AI进行聊天了,但像开头说的那样,这个界面可能不是很美观,在复制回答时也不太方便,我们可以通过安装一个GUI界面来解决这个问题。

本教程以Open WebUI这个项目为例,使用Docker进行安装,它以前的名字就叫 Formerly Ollama WebUI。可以理解为一开始就是专门适配Ollama的WebUI,它的界面也对用惯了chatgpt的小伙伴来说更相似一些。当然,大家也可以选择其他的WebUI。

3.1 Windows系统安装Docker

如果大家之前未安装过Docker,可以参考下方教程进行安装:

首先,选择要安装的Docker版本进行安装:

下载地址

  1. 国内用户优先下载地址
  2. [适用于Windows的Docker桌面 – x86_64](https://desktop.docker.com/win/main/amd64/Docker Desktop Installer.exe?utm_source=docker&utm_medium=webreferral&utm_campaign=docs-driven-download-win-amd64&_gl=1rjke9f_gcl_auMjAxNTA4ODQwMy4xNzI1ODYzMTMx_gaMTc3ODM4NTkyMy4xNzI0MDM2OTcw_ga_XJWPQMJYHQ*MTczMDI2OTA1NC42LjEuMTczMDI2OTQwNC4zOC4wLjA)
  3. [适用于Windows的Docker Desktop Arm(测试版)](https://desktop.docker.com/win/main/arm64/Docker Desktop Installer.exe?utm_source=docker&utm_medium=webreferral&utm_campaign=docs-driven-download-win-arm64&_gl=118eu5gs_gcl_auMjAxNTA4ODQwMy4xNzI1ODYzMTMx_gaMTc3ODM4NTkyMy4xNzI0MDM2OTcw_ga_XJWPQMJYHQ*MTczMDI2OTA1NC42LjEuMTczMDI2OTQwNi4zNi4wLj)

可选: 如果想自己指定安装目录,可以使用命令行的方式 参数 –installation-dir=D:\Docker可以指定安装位置

start /w "" "Docker Desktop Installer.exe" install --installation-dir=D:\Docker

然后点击任务栏搜索功能,启用”适用于Linux的Windows子系统” 、”虚拟机平台”

image.png

然后使用管理员权限打开命令提示符,安装wsl2:

wsl --set-default-version 2
wsl --update --web-download

等待wsl安装成功:

image.png

然后再次重启电脑,重启后点击桌面的Docker Desktop图标:选择先不注册直接登录即可。

image-20240412135009554

打开Docker Desktop后,左下角显示是绿色的running就代表我们成功了:

image-20240412135830591

PS:**Windows配置镜像站:**如无科学上网情况,可手动配置镜像站:
Setting->Docker Engine->添加上换源的那一段,如下图:image.png保存后即可正常使用Docker.

也可以打开终端,比如powershell,然后输入docker,回车:

image-20240412143329625

可以看到这个命令成功运行,同样说明docker安装成功。

3.2 Docker部署Open WebUI

然后访问Open WebUI的github页面 https://github.com/open-webui/open-webui

可以看到,如果你的Ollama和Open WebUI在同一台主机,那使用下面显示的这一行命令在cmd终端中就可以在本地快速进行部署:

image-20240412140749937

docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main

将上边在docker中部署Open WebUI的命令复制后粘贴到终端中,回车:

image-20240412143603992

然后等待安装完毕即可:如下图所示:

image-20240412144132799

安装完成后,在Docker Desktop中可以看到Open WebUI的web界面地址为:https://localhost:3000

image-20240412144401182

点击后,会在浏览器打开登录界面:

image-20240412144744192

点击sign up注册,账号,邮箱,密码记好,下次登录时需要用到邮箱和密码登录:

image-20240412144927140

然后点击create account创建账号即可:然后就能在浏览器中使用类似chatgpt界面的Open WebUI了!

image-20250205162722922

3.3 添加Deepseek模型

点击右上角的设置,可以修改当前界面的语言为简体中文:然后点击保存即可。

image-20240412145306289

image-20240412145337352

点击上方选择一个模型旁边的加号+可以增加大模型,点击下拉按钮可以选择当前使用哪一个已安装的模型,这里选择刚才安装的DeepSeek-r1:1.5b,接下来就可以愉快的跟DeepSeek-r1大模型在网页中聊天了!

image-20250205162855286

image-20250205163120653

到这里就成功部署了DeepSeek并使用Open WebUI在网页中与AI交互,之后你可以根据自己的需求训练 DeepSeek,将 DeepSeek 训练成自己专用AI助手。

4. 安装内网穿透工具

但如果想实现不在同一网络环境下,也能随时随地在线使用Open WebUI与本地部署的DeepSeek-r1大模型在网页中聊天,那就需要借助cpolar内网穿透工具来实现公网访问了!接下来介绍一下如何安装cpolar内网穿透,过程同样非常简单:

首先进入cpolar官网:

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

点击免费使用注册一个账号,并下载最新版本的cpolar:

img

登录成功后,点击下载cpolar到本地并安装(一路默认安装即可)本教程选择下载Windows版本。

image-20240319175308664

cpolar安装成功后,在浏览器上访问http://localhost:9200,使用cpolar账号登录,登录后即可看到配置界面,结下来在WebUI管理界面配置即可。

img

接下来配置一下 Open WebUI 的公网地址,

登录后,点击左侧仪表盘的隧道管理——创建隧道,

  • 隧道名称:deepseek1(可自定义命名,注意不要与已有的隧道名称重复)
  • 协议:选择 http
  • 本地地址:3000 (本地访问的地址)
  • 域名类型:选择随机域名
  • 地区:选择China Top

image-20250205163908347

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

image-20250205163938117

使用上面的任意一个公网地址,在手机或任意设备的浏览器进行登录访问,即可成功看到 Open WebUI 界面,这样一个公网地址且可以远程访问就创建好了,使用了cpolar的公网域名,无需自己购买云服务器,即可到随时在线访问Open WebUI来在网页中使用本地部署的Deepseek大模型了!

image-20250205164201330

image-20250205164242912

小结

为了方便演示,我们在上边的操作过程中使用cpolar生成的HTTP公网地址隧道,其公网地址是随机生成的。这种随机地址的优势在于建立速度快,可以立即使用。然而,它的缺点是网址是随机生成,这个地址在24小时内会发生随机变化,更适合于临时使用。

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

5. 配置固定公网地址

接下来演示如何为其配置固定的HTTP公网地址,该地址不会变化,方便分享给别人长期查看你部署的项目,而无需每天重复修改服务器地址。

登录cpolar官网,点击左侧的预留,选择保留二级子域名,设置一个二级子域名名称,点击保留,保留成功后复制保留的二级子域名名称:

image-20250205164651212

保留成功后复制保留成功的二级子域名的名称:mydpsk,大家也可以设置自己喜欢的名称。

image-20250205164733794

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

image-20250205164821363

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

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

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

image-20250205164907143

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

image-20250205164940415

最后,我们使用固定的公网https地址访问,可以看到访问成功,这样一个固定且永久不变的公网地址就设置好了,可以随时随地在公网环境异地在线访问本地部署的Open WebUI来使用DeepSeek模型了!

image-20250205165142086

看完这篇攻略,是不是觉得本地部署Deepseek简直是小菜一碟?现在你不仅能享受到丝滑般的交互体验,还能给你的电脑加上一个超酷的‘私人订制’标签。当然了,如果在实操过程中遇到什么难题或者脑洞大开的想法,欢迎随时来‘吐槽’交流!毕竟,技术这事儿嘛,不玩出点花样来怎么对得起自己?

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/73886.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

openwrt24.10.0版本上安装istoreOS的屏幕监控插件

lcdsimple 插件支持在软路由下面显示统计信息到 HDMI 或者 VGA 上。 手动安装方法: 保证 quickstart 版本大于 0.9.7 安装 lcdsimple 具体方法: opkg update opkg install quickstart opkg install lcdsimple 手动下载 QUICKSTART 跟 LCD SIMPLE&…

卷积神经网络 - ResNet(残差网络)

残差网络(Residual Network,ResNet)通过给非线性的卷积层增加直连边 (Shortcut Connection)(也称为残差连接(Residual Connection))的方式来提高信息的传播效率。 这是一种特殊的深度神经网络结构,由 Kaiming He 等人在 2015 年提出,目的是解…

质因数个数--欧拉函数中统计纯素数

和互质数不同&#xff0c;这里统计的是纯素数部分 就是x/i那一部分 #include<bits/stdc.h> using namespace std; #define N 100011 typedef long long ll; typedef pair<ll,int> PII; int n,m,k; ll eular(ll x) { ll an0;ll px;for(ll i2;i*i<x;i){if(x%i…

2025年3月电子学会c++五级真题

结绳 #include <bits/stdc.h> using namespace std;int n,a[10010];int main() {cin>>n;for(int i 0;i<n;i){cin>>a[i];}sort(a0,an);//将a数组从小到大排序double sum 0;for(int i 0;i<n;i){sum (suma[i])/2;}cout<<(int)sum;return 0; } 最…

用Nginx实现负载均衡与高可用架构(整合Keepalived)

前言 在分布式架构中&#xff0c;负载均衡和高可用是保障系统稳定性的两大核心能力。本文将深入讲解如何通过Nginx实现七层负载均衡&#xff0c;并结合Keepalived构建无单点故障的高可用架构。文末附完整配置模板&#xff01; 一、Nginx负载均衡实现方案 1. 核心原理 Nginx通…

springBoot与ElementUI配合上传文件

以下是使用Vue CLI创建的Vue项目&#xff0c;结合Element UI来实现文件上传功能的完整示例。 步骤 创建Vue项目&#xff1a;确保你已经安装了Vue CLI&#xff0c;若未安装&#xff0c;可使用以下命令安装&#xff1a; npm install -g vue/cli然后创建一个新的Vue项目&#x…

黑盒测试的测试用例构成的八点要素

测试用例: 是为测试项目而设计的执行文档 作用&#xff1a; 防止漏测实施测试的标准 编写格式&#xff1a; 用例编号:项目 模块 编号用例标题:预期结果(测试点)模块/项目:所属项目或模块优先级:表示用例的重要程度或者影响力P0~p4(P0最高)前置条件:要执行此条用例&#xf…

蓝桥刷题note11(好数)

1&#xff0c;好数 一个整数如果按从低位到高位的顺序&#xff0c;奇数位 (个位、百位、万位 ⋯⋯ ) 上的数字是奇数&#xff0c;偶数位 (十位、千位、十万位 ⋯⋯ ) 上的数字是偶数&#xff0c;我们就称之为 “好数”。 给定一个正整数 NN&#xff0c;请计算从 1 到 NN 一共…

Keil编译生成的axf文件的介绍

在 Keil 开发环境&#xff08;如 Keil MDK&#xff09;中&#xff0c;.axf 文件是一种 可执行文件格式&#xff0c;主要用于 ARM 处理器的嵌入式开发。它的作用类似于 ELF&#xff08;Executable and Linkable Format&#xff09;格式&#xff0c;包含了可执行代码、调试信息、…

C#:第一性原理拆解属性(property)

目录 第一步&#xff1a;从最基本的需求出发 第二步&#xff1a;引入控制需求 第三步&#xff1a;优化访问方式 第四步&#xff1a;剖析属性的本质 第五步&#xff1a;进一步简化和演化 第六步&#xff1a;总结属性的第一性原理 我们用第一性原理&#xff08;First Prin…

-PHP 应用文件上传函数缺陷条件竞争二次渲染黑白名单JS 绕过

#学习前必读&#xff1a; 1 、课前一定要明白&#xff1a; 无文件解析安全问题上&#xff0c;格式解析是一对一的&#xff08;不能 jpg 解析 php &#xff09; 换句话来说有解析错误配置或后缀解析漏洞时才能实现格式差异解析 2 、文件上传安全指的是攻击者通过利用上传…

C++的模板(十四):更多的自动内存管理

在前文《C的模板(八)&#xff1a;子系统》class DMM&#xff0c;给出了一个自动动态内存管理的例子。https://blog.csdn.net/aaasssdddd96/article/details/139921880 它使用了一个list容器&#xff0c;把两个类型兼容的指针存放在一起。在new的时候&#xff0c;随即就把得到的…

Windows下VSCode的安装

前言 VSCode的安装看起来平平无奇&#xff0c;但也不是轻轻松松的。笔者将最新的Windows下安装VSCode&#xff0c;以及运行最简单的C程序的过程记录下来&#xff0c;供后续的自己和大家参考。 一、官网下载安装包 Visual Studio Code - Code Editing. Redefined 二、安装 直接…

Matlab教程004:Matlab矩阵的拼接重构重排以及矩阵的运算

文章目录 1.4.3 矩阵的拼接重构重排1.4.3.1 横向拼接1.4.3.2 纵向拼接1.4.3.3 矩阵的重构重排 1.4.4 矩阵的运算1.4.4.1 算数运算1.4.4.2 矩阵加减1.4.4.3 矩阵乘法1.4.4.4 矩阵转置 1.4.3 矩阵的拼接重构重排 1.4.3.1 横向拼接 A和B的行数相同&#xff0c;那么使用[A,B]、[A …

Python小练习系列 Vol.3:生成有效括号组合(回溯 + DFS)

&#x1f9e0; Python小练习系列 Vol.3&#xff1a;生成有效括号组合&#xff08;回溯 DFS&#xff09; &#x1f44b; 本期我们来刷一道 LeetCode 热门经典题&#xff0c;借此掌握回溯算法的精髓 —— 生成有效括号组合&#xff0c;是学习递归 & DFS 的黄金题型&#xff…

实战经验深度解析 | 博睿数据制造行业精选案例集发布!

近年来&#xff0c;我国制造业加速迈向高端化、智能化、绿色化&#xff0c;为经济高质量发展注入新动能。放眼全球&#xff0c;制造业正加速数字化、智能化转型&#xff0c;5G、人工智能、边缘计算等技术与生产全流程深度融合&#xff0c;有力推动柔性化生产与产业链协同创新发…

[创业之路-344]:战略的本质是选择、聚焦, 是成本/效率/低毛利优先,还是差易化/效益/高毛利优先?无论是成本优先,还是差易化战略,产品聚焦是前提。

前言&#xff1a; 一、战略的本质是选择、聚焦 关于战略的本质&#xff0c;触及了商业竞争的核心矛盾&#xff1a;选择成本优先&#xff08;效率/低毛利&#xff09;还是差异化&#xff08;效益/高毛利&#xff09;&#xff0c;本质上是对企业战略方向的终极拷问。 1、战略选…

项目代码第10讲【数据库运维知识——如何优化数据库查询效率?】:各种日志查看;主从复制;分库分表(MyCat);读写分离;区别数据分区、分表、分库

01. 运维-课程介绍_哔哩哔哩_bilibili 一、各种日志查看 二、主从复制 三、分库分表&#xff08;MyCat&#xff09; 四、读写分离 五、区别数据分区、分表、分库 1、数据库分区 上图中的ibd文件&#xff0c;是分区表的数据文件&#xff0c;可以分布在不同的物理设备上&…

OpenCV图像拼接(10)用于实现图像拼接过程中的时间流逝(timelapse)效果的一个类cv::detail::Timelapser

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 cv::detail::Timelapser 是 OpenCV 库中用于实现图像拼接过程中的时间流逝&#xff08;timelapse&#xff09;效果的一个类。它通常用于将一系列…

Transformer 通关秘籍2:利用 BERT 将文本 token 化

前面两节分别通过两个代码示例展示了模型将文本转换为 token 之后是什么样的&#xff0c;希望你可以对此有一个感性的认识。 本节来简要介绍一下将一个连续的文本转换为 token 序列的大致过程&#xff0c;这个过程被称为分词&#xff0c;也叫 tokenization。 在你没了解这方面…