Windows本地部署Ollama+qwen本地大语言模型Web交互界面并实现公网访问

文章目录

    • 前言
    • 1. 运行Ollama
    • 2. 安装Open WebUI
      • 2.1 在Windows系统安装Docker
      • 2.2 使用Docker部署Open WebUI
    • 3. 安装内网穿透工具
    • 4. 创建固定公网地址

前言

本文主要介绍如何在Windows系统快速部署Ollama开源大语言模型运行工具,并安装Open WebUI结合cpolar内网穿透软件,实现在公网环境也能访问你在本地内网搭建的大语言模型运行环境。

近些年来随着ChatGPT的兴起,大语言模型 LLM(Large Language Model)也成为了人工智能AI领域的热门话题,很多大厂也都推出了自己的大语言模型,并或多或少的开源了自己的大语言模型,今天就来分享一个最近很火,且对于小白来说比较好上手本地部署的运行本地LLM的工具Ollama。

在本地运行大语言模型有诸多优点:

比如可以保护隐私不会产生费用可以无视网络问题可以尝鲜各种开源模型等等。

Ollama支持当前主要的开源大模型, 比如llama2、千文qwen、mistral等,可以在Windows、Linux、MacOS系统上进行部署。稳定性和便利性都非常不错,下面就来分享一下它在Windows系统上的安装与应用。

1712892863233

1. 运行Ollama

本文安装环境为:Windows10专业版

下载: Ollama下载地址:https://ollama.com/download

在下载页面点击Windows,然后点击下载按钮。

image-20240412112815418

安装: 下载完成后,双击下载的安装程序。

image-20240412113651226

点击Install进行安装。

image-20240412113757729

安装完成没有提示,我们打开一个终端,本文以Windows PowerShell为例,大家也可以使用其他的:

现在Ollama已经安装完了,我们需要在终端中输入下方命令运行一个大语言模型进行测试,这里以对在中文方面表现相对好些的千问为例,大家也可以使用其他的模型。

ollama run qwen

image-20240412114551493

可以看到,系统正在下载qwen的模型(并保存在C盘,C:\Users<username>.ollama\models 如果想更改默认路径,可以通过设置OLLAMA_MODELS进行修改,然后重启终端,重启ollama服务。)

setx OLLAMA_MODELS "D:\ollama_model"

image-20240412115240118

模型下载完成后,我们就可以在终端中输入问题进行使用了:

image-20240412115431766

至此,在Windows本地部署ollama并运行qwen大语言模型就已经完成了。一键搞定,对新手体验大语言模型真的非常友好。

2. 安装Open WebUI

不过,我们现在只能在终端中使用,操作界面可能不像ChatGPT那样美观,如果能使用web页面进行交互,使用体验更好,也能保留之前的聊天记录,翻遍我们翻阅查询。

针对这个情况,我们可以在Windows上部署Open WebUI这个项目来实现类似chatgpt一样的交互界面。

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

如何在Windows系统安装Open WebUI:

2.1 在Windows系统安装Docker

首先,如果大家之前未安装过Docker,需要执行下面三个步骤进行安装:

第一步:启动Hyper-v

打开控制面板,在程序与功能页面选择启用或Windows功能

55b168adb3b2487ebef5a56f9b5bfe16.png

勾选Hyper-V、虚拟机平台、Linux子系统并点击确认

fcc551d53f2a4d8a9261519deaae49ea.png

然后,重启计算机。

第二步:安装WSL

打开 powershell,以管理员的身份启动命令窗口,输入

wsl --update

安装

wsl --install
7803831a6fef8563132920692cf5bb5

然后再次重启电脑。

第三步:访问Docker官网进行下载

点击下载链接:https://docs.docker.com/desktop/install/windows-install/

image-20240412134453950

选择Windows最新版本:

29e8d9fd062d765b10f64c27dd14097

下载完成后,双击安装程序进行安装,如果是第一次安装,安装后会提示重启电脑,重启后点击桌面的Docker Desktop图标:选择先不注册直接登录即可。

image-20240412135009554

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

image-20240412135830591

视频安装教程:

【Docker教程】如何在Windows系统安装Docker

2.2 使用Docker部署Open WebUI

在Open WebUI的github页面 https://github.com/open-webui/open-webui 可以看到,如果你的Ollama和Open WebUI在同一台主机,那使用下面显示的这一行命令就可以在本地快速进行部署:

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

现在我们打开终端,比如powershell,然后输入docker,回车

image-20240412143329625

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

然后将上边在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-20240412145046113

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

image-20240412145306289

image-20240412145337352

点击上方选择一个模型旁边的加号+可以增加大模型,点击下拉按钮可以选择当前使用哪一个已安装的模型,接下来就可以愉快的跟ai聊天了!

image-20240412145604350

3. 安装内网穿透工具

至此,我们已经成功完成在本地Windows系统使用Docker部署Open WebUI与Ollama大模型工具进行交互了!但如果想实现出门在外,也能随时随地使用Ollama Open WebUI,那就需要借助cpolar内网穿透工具来实现公网访问了!接下来介绍一下如何安装cpolar内网穿透并实现公网访问!

下面是安装cpolar步骤:

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

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

img

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

image-20240319175308664

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

img

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

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

创建一个 ollama1 的公网http地址隧道:

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

db922938915f169100c3099795edd0a

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

image-20240412152551655

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

image-20240412152651947

小结

如果我们需要长期异地远程访问Open WebUI,由于刚才创建的是随机的地址,24小时会发生变化。另外它的网址是由随机字符生成,不容易记忆。如果想把域名变成固定的二级子域名,并且不想每次都重新创建隧道来访问Open WebUI,我们可以选择创建一个固定的公网地址来解决这个问题。

4. 创建固定公网地址

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

配置固定http端口地址需要将cpolar升级到专业版套餐或以上。

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

image-20240412152906479

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

image-20240412152954731

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

image-20240412153114908

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

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

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

image-20240412153213518

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

image-20240412153253106

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

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

汽车纵染压制专用液压机比例阀放大器

汽车纵染压制专用液压机比例阀放大器是一种专门用于汽车纵梁拉伸工艺的设备&#xff0c;它也可以用于其他金属薄板的压制成型及校正工艺。该类型的液压机通常具备独立的动力机构和电气系统&#xff0c;采用PLC技术进行控制&#xff0c;以确保操作的准确性和稳定性。除了纵梁拉伸…

什么是云专线

云专线是一种企业连接公共云服务提供商&#xff08;如亚马逊AWS、微软Azure、谷歌云等&#xff09;的专用网络连接服务。它是一种私有网络连接&#xff0c;主要目的是提供更可靠、更安全、更高性能的连接&#xff0c;以满足企业对云服务的需求&#xff0c;特别是需要大量数据传…

981: 统计利用二叉树存储的森林中树的棵数

解法&#xff1a; 在数据结构中&#xff0c;森林&#xff08;Forest&#xff09;是一组互不相交的树的集合&#xff0c;而二叉树&#xff08;Binary Tree&#xff09;是每个节点最多只有两个子节点的树。下面介绍如何在森林和二叉树之间进行转换。 森林转换为二叉树&#xff1…

页面分页打印,echarts图解决办法;生成PDF

1&#xff1a;echarts图片前端打印不是很完美&#xff0c;对于VUE2.0版本不是很有好 2&#xff1a;360浏览器不支持vue的最新版本的插件vue3-print-nb 3&#xff1a;vue-print-nb 可以打印带有echarts 一页内容&#xff0c;并且还存在bug&#xff0c;第一次点击打印没有&…

用于车载T-BOX汽车级的RA8900CE

用于车载T-BOX等高精度计时的汽车级时钟模块RTC:RA8900CE.车载实时时钟芯片RA8900CE内置32.768Khz的晶体&#xff0c;实现年、月、日、星期、小时、分钟和秒精准计时。RA8900CE满足AEC-Q200认证&#xff0c;内置温补功能&#xff0c;保证实时时钟的稳定可靠&#xff0c;功耗低至…

X86与FPGA相结合,基于PIB的AI开发——人体姿态识别

人体姿态估计是计算机视觉领域中用于理解和分析人类行为的一个关键技术。它主要涉及到检测和识别图像或视频中人体的各个关键点&#xff0c;并预测这些关键点之间的空间关系&#xff0c;从而构建出人体的骨架模型。 本文将介绍基于PIB板的人体姿态估计案例。这是一个交互式的实…

CentOS-7部署mysql、clickhouse并通过普罗米修斯、grafna监控告警

一、准备工作 1、系统环境 所用镜像&#xff1a;CentOS-7-x86_64-DVD-2009.iso 2、涉及安装包 3、克隆4台虚拟机 用途IP主机名Prometneus服务器192.168.15.129master被监控服务器1192.168.15.133node1mysql、clickhouse、grafana服务器192.168.15.134node2被监控服务器219…

19 Debian如何配置DNS服务(1)缓存服务器

作者&#xff1a;网络傅老师 特别提示&#xff1a;未经作者允许&#xff0c;不得转载任何内容。违者必究&#xff01; Debian如何配置DNS服务&#xff08;1&#xff09;缓存服务器 《傅老师Debian小知识库系列之19》——原创 前言 傅老师Debian小知识库特点&#xff1a; 1、…

MySQL无法打开情况下读取frm文件的表结构

一、背景&#xff1a; 开发人员通过MySQL客户端工具&#xff0c;可以访问MySQL5.7.6&#xff0c;可以访问具体的DB&#xff0c;可以查看小写表的数据&#xff0c;但是无法查看大写表的数据&#xff0c;报错信息为“table does not exist”。 二、检查与分析&#xff1a; ssh登录…

网络安全主题纪录片

网络安全主题纪录片 文章目录 网络安全主题纪录片第四公民黑客帝国系列龙纹身女孩碟中谍系列虎胆龙威4匿名者终结者2&#xff1a;审判日东方快车谋杀案黑客国家公敌我是谁&#xff1a;没有绝对安全的系统黑客军团速度与激情系列十亿美元大劫案勒索软件的背后黑客的恐惧为什么网…

贪心算法-活动安排问题和背包问题

实验6贪心算法-活动安排问题和背包问题 实验目的&#xff1a; 理解贪心算法的基本思想运用贪心算法解决实际问题 实验内容&#xff1a; 采用贪心方法编程实现以下问题的算法 1.如何安排下列活动使得使用的活动场所最少&#xff0c;并给出具体的安排方法。 活动 a b c …

mybatis 生成器,是否功能实现,需写测试类

一、看视频步骤 请按视频流程走 mybatis-18-CSDN直播 二、视频报错 解决思路 网址&#xff1a; 使用配置 | MyBatis-Plus (baomidou.com) 添加代码&#xff1a; 效果图&#xff1a;√ Tests passed: 前面✔&#xff0c;表示正确。 1为最终结果

面包屑新玩法,ReactRouter+Ant Design实现动态渲染

在Ant Design中,可以通过Breadcrumb组件结合react-router库实现动态生成面包屑导航。具体步骤如下: 定义路由配置数据结构 我们需要在路由配置中添加额外的面包屑相关信息,例如面包屑标题、icon等。例如: const routes [{path: /,breadcrumbName: 首页},{path: /users,brea…

【笔试】03

FLOPS FLOPS 是 Floating Point Operations Per Second 的缩写&#xff0c;意为每秒浮点运算次数。它是衡量计算机性能的指标&#xff0c;特别是用于衡量计算机每秒能够执行多少浮点运算。在高性能计算领域&#xff0c;FLOPS 被广泛用来评估超级计算机、CPU、GPU 和其他处理器…

【macOS】M芯片安装windows10以及配置office

背景 M3芯片Macbook ProParallel Desktop19office word visio打算配置一个好用的笔记本&#xff0c;携带着尽快把论文的正文写完&#xff0c;macOS里面的word排版可能出错&#xff0c;所以像配置一个双系统&#xff0c;里面必然要有的是word和visio&#xff0c;其他没有要求 …

使用linux,c++,创作一个简单的五子棋游戏

#include <iostream> #include <vector> #include <unordered_map> using namespace std; // 棋盘大小 const int BOARD_SIZE 15; // 棋子类型 enum ChessType { EMPTY, BLACK, WHITE }; // 棋盘类 class ChessBoard { private: vect…

大数据学习第四天

文章目录 yaml 三大组件的方式交互流程hive 使用安装mysql(hadoop03主机)出现错误解决方式临时密码 卸载mysql (hadoop02主机)卸载mysql(hadoop01主机执行)安装hive上传文件解压解决版本差异修改hive-env.sh修改 hive-site.xml上传驱动包初始化元数据在hdfs 创建hive 存储目录启…

怎么选出一个95分的产品?选品的逻辑到底是什么?如何不选错

大家好&#xff0c;我是电商花花。 选品定生死。 做电商的应该都会听过这句话&#xff0c;可能有些商家也只是听听就过去&#xff0c;如果没有遇到选品的问题就很难感受到。 如果你体验到一款好的产品带来的流量红利&#xff0c;体验一次爆单&#xff0c;就会知道选出优质的…

Reactor 核心概念-响应式编程-003

🤗 ApiHug {Postman|Swagger|Api...} = 快↑ 准√ 省↓ GitHub - apihug/apihug.com: All abou the Apihug apihug.com: We build what we loveApiHug - API design Copilot - IntelliJ IDEs Plugin | MarketplaceReactor 核心库在: reactor-core, 实现。 引入 (gradl…

【头文件】对.h文件的理解

目录 &#x1f31e;1. 头文件的概念 &#x1f30a;1.1 头文件的由来 &#x1f30a;1.2 头文件的作用 &#x1f30a;1.3 在.h文件中实现函数也不会出错的原因 &#x1f31e;2. 简单示例 &#x1f30a;2.1 头文件addition.h &#x1f30a;2.2 头文件接口实现addition.cpp …