Windows本地部署DeepSeek-R1大模型并使用web界面远程交互

news2025/2/8 0:07:40

文章目录

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

前言

最近爆火的国产AI大模型Deepseek详细大家都不陌生,不过除了在手机上安装APP或者官网在线体验,我们其实完全可以在自己的Windows电脑上本地进行部署,并结合cpolar内网穿透工具轻松实现远程交互,带来更方便快捷的体验。

之前就和大家分享过本地运行 AI 模型具有很多优势,比如隐私安全:你的所有数据都保留在你自己的机器上,不存在共享敏感信息的风险。快速响应:官方及三方访问量过大,延迟非常高,造成卡顿,本地部署大模型可以避免这种情况。

要实现本地部署DeepSeek R1大模型其实也不难,只需在电脑中安装能够运行各种AI模型的开源工具Ollama 就可以了,不过如果感觉在终端中和AI交互不太美观,我们也可再安装一个图形化的界面,就能像和chatgpt那样在网页中和大模型聊天了,下面就来具体演示一下。

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. 国内用户优先下载地址:

    https://github.com/tech-shrimp/docker_installer/releases/download/latest/docker_desktop_installer_windows_x86_64.exe

  2. 适用于Windows的Docker桌面 – x86_64:
    [https://desktop.docker.com/win/main/amd64/Docker%20Desktop%20Installer.exe?utm_source=docker&utm_medium=webreferral&utm_campaign=docs-driven-download-win-amd64&_gl=1rjke9f_gcl_auMjAxNTA4ODQwMy4xNzI1ODYzMTMx_gaMTc3ODM4NTkyMy4xNzI0MDM2OTcw_ga_XJWPQMJYHQMTczMDI2OTA1NC42LjEuMTczMDI2OTQwNC4zOC4wLjA.](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%20Desktop%20Installer.exe?utm_source=docker&utm_medium=webreferral&utm_campaign=docs-driven-download-win-arm64&_gl=118eu5gs_gcl_auMjAxNTA4ODQwMy4xNzI1ODYzMTMx_gaMTc3ODM4NTkyMy4xNzI0MDM2OTcw_ga_XJWPQMJYHQMTczMDI2OTA1NC42LjEuMTczMDI2OTQwNi4zNi4wLj](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

以上就是如何在Windows系统本地安装Ollama大模型工具并使用docker部署Open WebUI,结合cpolar内网穿透工具实现公网访问本地部署的deepseek-r1大模型,并配置固定不变的二级子域名公网地址实现远程访问的全部流程,感谢您的观看,有任何问题欢迎留言交流。

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

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

相关文章

【分布式理论六】分布式调用(4):服务间的远程调用(RPC)

文章目录 一、RPC 调用过程二、RPC 动态代理:屏蔽远程通讯细节1. 动态代理示例2. 如何将动态代理应用于 RPC 三、RPC 序列化四、RPC 协议编码1. 协议编码的作用2. RPC 协议消息组成 五、RPC 网络传输1. 网络传输流程2. 关键优化点 一、RPC 调用过程 RPC&#xff08…

机器学习-线性回归(参数估计之结构风险最小化)

前面我们已经了解过关于机器学习中的结构风险最小化准则,包括L1 正则化(Lasso)、L2 正则化(Ridge)、Elastic Net,现在我们结合线性回归的场景,来了解一下线性回归的结构风险最小化,通…

IM 即时通讯系统-46-OpenIM 提供了专为开发者设计的开源即时通讯解决方案

IM 开源系列 IM 即时通讯系统-41-开源 野火IM 专注于即时通讯实时音视频技术,提供优质可控的IMRTC能力 IM 即时通讯系统-42-基于netty实现的IM服务端,提供客户端jar包,可集成自己的登录系统 IM 即时通讯系统-43-简单的仿QQ聊天安卓APP IM 即时通讯系统-44-仿QQ即…

node.js使用mysql2对接数据库

一、引言 在现代Web开发中,Node.js作为一种高效、轻量级的JavaScript运行时环境,已经广泛应用于后端服务的开发中。而MySQL,作为一个广泛使用的关系型数据库管理系统(RDBMS),提供了强大的数据存储和查询功能…

SQL/Panda映射关系

Pandas教程(非常详细)_pandas 教程-CSDN博客 SQL:使用SELECT col_1, col_2 FROM tab; Pandas:使用df[[col_1, col_2]]。 SQL:使用SELECT * FROM tab WHERE col_1 11 AND col_2 > 5; Pandas:使用df…

windows同时安装两个不同版本的Mysql

文章目录 目录 ?文章目录 前言 一、MySql下载 1、 官网下载: 2、 解压文件 3、 新建my.ini文件。 二、配置MySql环境变量 1、新建系统环境变量 ?三、MySql安装 1、进入MySql的bin目录 ?2、安装MySql服务 3、修改登录密码、并自动创建data文件夹 4、…

Docker最佳实践:安装Nacos

文章目录 Docker最佳实践:安装Nacos一、引言二、安装 Nacos1、拉取 Nacos Docker 镜像2、启动 Nacos 容器 三、配置 Nacos(可选)四、使用示例1、服务注册2、服务发现 五、总结 Docker最佳实践:安装Nacos 一、引言 Nacos 是阿里巴…

【deepseek实战】绿色好用,不断网

前言 最佳deepseek火热网络,我也开发一款windows的电脑端,接入了deepseek,基本是复刻了网页端,还加入一些特色功能。 助力国内AI,发出自己的热量 说一下开发过程和内容的使用吧。 目录 一、介绍 二、具体工作 1.1、引…

【基于SprintBoot+Mybatis+Mysql】电脑商城项目之修改密码和个人资料

🧸安清h:个人主页 🎥个人专栏:【Spring篇】【计算机网络】【Mybatis篇】 🚦作者简介:一个有趣爱睡觉的intp,期待和更多人分享自己所学知识的真诚大学生。 目录 🎃1.修改密码 -持久…

3.攻防世界 weak_auth

题目描述提示 是一个登录界面,需要密码登录 进入题目页面如下 弱口令密码爆破 用1 or 1 #试试 提示用admin登录 则尝试 用户名admin密码:123456 直接得到flag 常用弱口令密码(可复制) 用户名 admin admin-- admin or -- admin…

『Apisix进阶篇』结合Consul作服务发现实战演练

文章目录 一、引言二、APISIX与Consul集成2.1 环境准备2.2 配置Consul服务发现2.2.1 修改APISIX配置文件2.2.2 重启APISIX 2.3 在路由中使用Consul服务发现2.3.1 创建路由2.3.2 验证路由 2.4 高级配置2.4.1 服务过滤2.4.2 多数据中心支持 三、总结 📣读完这篇文章里…

家用报警器的UML 设计及其在C++和VxWorks 上的实现01

M.W.Richardson 著,liuweiw 译 论文描述了如何运用 UML(统一建模语言)设计一个简单的家用报警器,并实现到 VxWorks 操作系统上。本文分两个部分,第一部分描述了如何用 UML 设计和验证家用报警器的模型,以使…

BUU24 [GXYCTF2019]BabyUpload 1

开局上传文件 上传muma.php 上传.htaccess文件也被打回 再次求助互联网,才发现这提示给的多么明显,上传.htaccess文件是检查文件类型(Contnet-Type),上传muma.php是检查后缀里头有没有ph ,检查文件类型那…

贪心与单调栈的艺术:从三道 LeetCode 题看最小字典序问题(316/402/1081)

前言 欢迎来到我的算法探索博客,在这里,我将通过解析精选的LeetCode题目,与您分享深刻的解题思路、多元化的解决方案以及宝贵的实战经验,旨在帮助每一位读者提升编程技能,领略算法之美。 👉更多高频有趣Lee…

【含开题报告+文档+PPT+源码】基于SpringBoot的校园论坛系统的设计与实现

开题报告 本研究论文主要探讨并实现了一个基于SpringBoot框架构建的全方位校园论坛系统。此系统旨在为校内师生提供一个信息交流与分享的互动平台,核心功能涵盖了校园新闻新闻的实时浏览与更新,用户可自主发布各类主题帖子,并支持深度互动&a…

关于视频字幕

文章目录 视频字幕分类内嵌字幕内封字幕外挂字幕 字幕格式纯文本字幕特效字幕图形字幕 简易修改字幕修改时间同步PotplayerSubtitleEdit 提取蓝光原盘字幕参考资料 视频字幕分类 内嵌字幕 合成到画面的硬字幕,不可移除。 内封字幕 常见的如 MKV 文件&#xff0c…

【AI 语音】实时语音交互优化全解析:从 RTC 技术到双讲处理

网罗开发 (小红书、快手、视频号同名) 大家好,我是 展菲,目前在上市企业从事人工智能项目研发管理工作,平时热衷于分享各种编程领域的软硬技能知识以及前沿技术,包括iOS、前端、Harmony OS、Java、Python等…

数据结构(栈结构之顺序栈操作实现一)

目录 一.栈结构之顺序栈操作实现 1.项目结构以及初始代码 2.初始化栈结构 3.入栈操作并显示 4.出栈操作并显示出栈元素 5.获取栈长度 6.清空栈 7.销毁栈 8.动态扩展栈空间 一.栈结构之顺序栈操作实现 1.项目结构以及初始代码 SeqStack.h #ifndef __SEQSTACK_H__ #de…

【React】受控组件和非受控组件

目录 受控组件非受控组件基于ref获取DOM元素1、在标签中使用2、在组件中使用 受控组件 表单元素的状态(值)由 React 组件的 state 完全控制。组件的 state 保存了表单元素的值,并且每次用户输入时,React 通过事件处理程序来更新 …

vue2:如何动态控制el-form-item之间的行间距

需求 某页面有查看和编辑两种状态: 编辑: 查看: 可以看到,查看时,行间距太大导致页面不紧凑,所以希望缩小查看是的行间距。 行间距设置 行间距通常是通过 CSS 的 margin 或 padding 属性来控制的。在 Element UI 的样式表中,.el-form-item 的下边距(margin-bottom)…