Win电脑使用Ollama与Open Web UI搭建本地大语言模型运行工具

文章目录

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

前言

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

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

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

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

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

1712892863233

【视频教程】

Windows系统电脑使用Ollama+OpenWebUI快速搭建本地大语言模型体验智能AI聊天

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

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,并配置固定不变的二级子域名公网地址实现远程访问的全部流程,感谢您的观看,有任何问题欢迎留言交流。

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

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

相关文章

8. Transforms的使用(三)-- Resize

Transforms的使用(三) 1. 为什么要使用Resize 在模型的训练过程中往往需要图片数据的维度相同,才能适应深度学习模型中的相关神经网络结构,这时候就需要使用Resize保证所有的图片保持相同的尺寸2. 使用Resize调整图片的尺寸 在pytorch2.3的版本上,Resize()支持对Tensor类…

Vue2学习笔记(01计算属性和监视属性)

1、事件修饰符 2、计算属性-computed 要显示的数据不存在&#xff0c;要通过计算得来。在computed对象中定义计算属性。在页面中使用{{方法名}}来显示计算的结果。 3、监视属性-watch 通过vm对象的$watch()或watch配置来监视指定的属性当属性变化时,回调函数自动调用,在函数内…

2024.9.14 Python与图像处理新国大EE5731课程大作业,马尔可夫随机场和二值图割,校正立体图像的深度

1.马尔科夫随机场和二值图割 马尔可夫随机场&#xff08;MRF, Markov Random Field&#xff09;&#xff1a; MRF 是一种用来描述图像像素之间空间关系的概率模型。它假设图像中的像素不仅取决于自身的值&#xff0c;还与周围像素有关。这种模型经常用于图像分割、去噪等任务。…

【C++】关键字、命名空间、输入和输出、缺省参数的深入了解

目录 一、C关键字二、命名空间2.1 为什么存在命名空间&#xff1f;2.2 命名空间定义2.3 命名空间使用 三、C输入&输出四、缺省函数4.1 缺省函数分类 总结 一、C关键字 C一共有63个关键字 其中红色圈出来的32个关键字同时也是C语言的 二、命名空间 2.1 为什么存在命名空间…

MySQL 按照条件(分组)只取一个形成列表 group max

方法一、通过Max形成where条件 SELECTt1.* FROMbiz_customer_hold AS t1 WHEREt1.ch_create_time ( SELECT MAX( ch_create_time ) FROM biz_customer_hold AS t2 WHERE t2.ch_cust_no t1.ch_cust_no ) ORDER BYt1.ch_create_time DESC,t1.ch_hold_time DESC 方法二、通…

LabVIEW编程快速提升的技术

在LabVIEW程序员的成长过程中&#xff0c;很多技术和概念看似简单、常用&#xff0c;但真正掌握并能熟练运用&#xff0c;往往需要踏踏实实的实践与积累。没有什么是能够一蹴而就的&#xff0c;唯有通过不断的专注与深入&#xff0c;才能获得显著的提升。要想在LabVIEW开发上取…

ICPC网络赛 以及ACM训练总结

一、训练反思 关于我自己暑假期间训练的反思&#xff0c;我承认无论是因为什么原因&#xff0c;我自己浪费我整整一个暑假的时间&#xff0c;暑假期间正是我们集训的关键时期&#xff0c;这期间没有任何的事情来打扰我们学习&#xff0c;而我却熬夜&#xff0c;白天训练懈怠&a…

力扣题解2390

大家好&#xff0c;欢迎来到无限大的频道。 今日继续给大家带来力扣题解。 题目描述​&#xff08;中等&#xff09;&#xff1a; 从字符串中移除星号 给你一个包含若干星号 * 的字符串 s 。 在一步操作中&#xff0c;你可以&#xff1a; 选中 s 中的一个星号。 移除星号…

GIS在线监测SF6密度微水传感器免焊接格兰头航插插头

概述 GIS&#xff08;气体绝缘金属封闭开关设备&#xff09;中的SF6&#xff08;六氟化硫&#xff09;气体密度微水传感器航插技术是指在GIS设备中安装SF6气体密度和微水传感器&#xff0c;以实现对SF6气体状态的在线监测。这些传感器能够实时监测SF6气体的密度、微水含量以及其…

Acrobat 9 安装教程

软件介绍 Adobe Acrobat 是由Adobe公司开发的一款PDF&#xff08;Portable Document Format&#xff0c;便携式文档格式&#xff09;编辑软件。借助它&#xff0c;可以以PDF格式制作和保存文档&#xff0c;以便于浏览和打印&#xff0c;同时还可以使用一些高级工具来创建、编辑…

CSS—4

1.定位 1.相对定位 2.绝对定位 3.固定定位 4.粘性定位 5.定位的特殊应用 2.布局-版心 3.布局-常用布局名词 4.布局-重置默认样式

PCIe进阶之TL:Memory, I/O, and Configuration Request Rules TPH Rules

1 Memory, I/O, and Configuration Request Rules 下述规则适用于 Memory 请求、IO 请求和配置请求。 除了公共的 header 字段外,所有 Memory 请求、IO 请求和配置请求还包括以下字段: (1)Requester ID[15:0] 和 Tag[9:0],组成了 Transaction ID 。 (2)Last DW BE[3:0]…

BERT 论文逐段精读【论文精读】

BERT: 近 3 年 NLP 最火 CV: 大数据集上的训练好的 NN 模型&#xff0c;提升 CV 任务的性能 —— ImageNet 的 CNN 模型 NLP: BERT 简化了 NLP 任务的训练&#xff0c;提升了 NLP 任务的性能 BERT 如何站在巨人的肩膀上的&#xff1f;使用了哪些 NLP 已有的技术和思想&#xff…

基于AutoDL部署langchain-chatchat-0.3.1实战

一、租用AutoDL云服务器&#xff0c;配置环境 1.1 配置AutoDL环境 注册好autodl账户之后&#xff0c;开始在上面租服务器&#xff0c;GPU我选择的是RTX4090*2&#xff0c;西北B区&#xff0c;基础镜像选择的是Pytorch-2.3.0-python-3.12&#xff08;ubuntu22.04&#xff09;-…

SAP Fiori UI5-环境搭建-2022-2024界面对比

文章目录 一、Fiori项目初始化实际操作第一步&#xff1a;新建文件夹&#xff08;项目文件&#xff09;第二步&#xff1a;打开我们项目第三步&#xff1a;打开终端 部署环境第四步: XML中新增文本 二、 2023年Vscode中Fiori界面三 、2024年Vscode中Fiori界面 一、Fiori项目初始…

PHP仓库物资出入库管理系统小程序源码

仓库物资出入库管理系统&#xff1a;让库存管理变得井井有条 **&#x1f4e6; 开篇&#xff1a;告别混乱&#xff0c;拥抱智能库存时代 还在为仓库里堆积如山的物资和繁琐的出入库记录而头疼吗&#xff1f;是时候告别那些混乱的日子了&#xff01;“仓库物资出入库管理系统”应…

Android平台RTMP|RTSP播放器如何回调YUV或RGB数据?

技术选型 我们知道&#xff0c;Android平台一般RTMP|RTSP播放器通常不直接提供回调YUV或RGB数据的功能。如果播放端有视觉分析或类似的需求&#xff0c;需要播放端&#xff0c;能支持YUV或ARG的数据回调&#xff0c;一般来说&#xff0c;可参考的方法如下&#xff1a; 1. 使用…

MacOS Catalina 从源码构建Qt6.2开发库之01: 编译Qt6.2源代码

安装xcode&#xff0c; cmake&#xff0c; ninja brew install node mac下安装OpenGL库并使之对各项目可见 在macOS上安装OpenGL通常涉及到安装一些依赖库&#xff0c;如MGL、GLUT或者是GLEW等&#xff0c;同时确保LLVM的OpenGL框架和相关工具链的兼容性。以下是一个基本的安装…

linux 定时将固态硬盘数据备份至机械硬盘

需求背景 为了加强公司数据的安全性和可靠性&#xff0c;我们将实施一项数据备份策略。该策略涉及将服务器上的固态硬盘&#xff08;SSD&#xff09;中的关键数据定期备份到机械硬盘&#xff08;HDD&#xff09;上。这一过程旨在保护数据免受意外删除、硬件故障或其他潜在风险…

数组及使用方法

1. 数组 数组是由相同类型的数据元素构成的有限集合。数组是顺序存储方式,存储在连续内存空间中,可以通过下标直接存取元素。 数组的下标从0开始,第3个元素的下标为2,第3个元素为vec[2],如图所示。 在第3个元素之前插入一个元素9,需要从最后一个元素开始,后移一位,……