文章目录
- 前言
- 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系统上的安装与应用。
1. 运行Ollama
本文安装环境为:Windows10专业版
下载: Ollama下载地址:https://ollama.com/download
在下载页面点击Windows,然后点击下载按钮。
安装: 下载完成后,双击下载的安装程序。
点击Install进行安装。
安装完成没有提示,我们打开一个终端,本文以Windows PowerShell为例,大家也可以使用其他的:
现在Ollama已经安装完了,我们需要在终端中输入下方命令运行一个大语言模型进行测试,这里以对在中文方面表现相对好些的千问为例,大家也可以使用其他的模型。
ollama run qwen
可以看到,系统正在下载qwen的模型(并保存在C盘,C:\Users<username>.ollama\models 如果想更改默认路径,可以通过设置OLLAMA_MODELS
进行修改,然后重启终端,重启ollama服务。)
setx OLLAMA_MODELS "D:\ollama_model"
模型下载完成后,我们就可以在终端中输入问题进行使用了:
至此,在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功能
勾选Hyper-V、虚拟机平台、Linux子系统并点击确认
然后,重启计算机。
第二步:安装WSL
打开 powershell,以管理员的身份启动命令窗口,输入
wsl --update
安装
wsl --install
然后再次重启电脑。
第三步:访问Docker官网进行下载
点击下载链接:https://docs.docker.com/desktop/install/windows-install/
选择Windows最新版本:
下载完成后,双击安装程序进行安装,如果是第一次安装,安装后会提示重启电脑,重启后点击桌面的Docker Desktop图标:选择先不注册直接登录即可。
打开Docker Desktop后,左下角显示是绿色的running就代表我们成功了:
视频安装教程:
【Docker教程】如何在Windows系统安装Docker
2.2 使用Docker部署Open WebUI
在Open WebUI的github页面 https://github.com/open-webui/open-webui 可以看到,如果你的Ollama和Open WebUI在同一台主机,那使用下面显示的这一行命令就可以在本地快速进行部署:
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,回车
可以看到这个命令成功运行,说明docker安装成功。
然后将上边在docker中部署Open WebUI的命令复制后粘贴到终端中,回车。
然后等待安装完毕即可:如下图所示
安装完成后,在Docker Desktop中可以看到Open WebUI的web界面地址为:https://localhost:3000
点击后,会在浏览器打开登录界面:
点击sign up注册,账号,邮箱,密码记好,下次登录时需要用到邮箱和密码登录:
然后点击create account创建账号即可:然后就能在浏览器中使用类似chatgpt界面的Open WebUI了!
点击右上角的设置,可以修改当前界面的语言为简体中文:然后点击保存即可。
点击上方选择一个模型旁边的加号+可以增加大模型,点击下拉按钮可以选择当前使用哪一个已安装的模型,接下来就可以愉快的跟ai聊天了!
3. 安装内网穿透工具
至此,我们已经成功完成在本地Windows系统使用Docker部署Open WebUI与Ollama大模型工具进行交互了!但如果想实现出门在外,也能随时随地使用Ollama Open WebUI,那就需要借助cpolar内网穿透工具来实现公网访问了!接下来介绍一下如何安装cpolar内网穿透并实现公网访问!
下面是安装cpolar步骤:
cpolar官网地址: https://www.cpolar.com
点击进入cpolar官网,点击免费使用
注册一个账号,并下载最新版本的cpolar
登录成功后,点击下载cpolar到本地并安装(一路默认安装即可)本教程选择下载Windows版本。
cpolar安装成功后,在浏览器上访问http://localhost:9200,使用cpolar账号登录,登录后即可看到cpolar web 配置界面,结下来在web 管理界面配置即可。
接下来配置一下 Open WebUI 的公网地址,
登录后,点击左侧仪表盘的隧道管理——创建隧道,
创建一个 ollama1 的公网http地址隧道:
- 隧道名称:ollama1(可自定义命名,注意不要与已有的隧道名称重复)
- 协议:选择http
- 本地地址:3000 (本地访问的地址)
- 域名类型:免费选择随机域名
- 地区:选择China Top
隧道创建成功后,点击左侧的状态——在线隧道列表,查看所生成的公网访问地址,有两种访问方式,一种是http 和https:
使用上面的任意一个公网地址,在手机或任意设备的浏览器进行登录访问,即可成功看到 Open WebUI 界面,这样一个公网地址且可以远程访问就创建好了,使用了cpolar的公网域名,无需自己购买云服务器,即可到公网访问 Open WebUI 了!
小结
如果我们需要长期异地远程访问Open WebUI,由于刚才创建的是随机的地址,24小时会发生变化。另外它的网址是由随机字符生成,不容易记忆。如果想把域名变成固定的二级子域名,并且不想每次都重新创建隧道来访问Open WebUI,我们可以选择创建一个固定的公网地址来解决这个问题。
4. 创建固定公网地址
我们接下来为其配置固定的HTTP端口地址,该地址不会变化,方便分享给别人长期查看你部署的项目,而无需每天重复修改服务器地址。
配置固定http端口地址需要将cpolar升级到专业版套餐或以上。
登录cpolar官网,点击左侧的预留,选择保留二级子域名,设置一个二级子域名名称,点击保留,保留成功后复制保留的二级子域名名称
保留成功后复制保留成功的二级子域名的名称:myollama,大家也可以设置自己喜欢的名称。
返回登录Cpolar web UI管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到所要配置的隧道:ollama1,点击右侧的编辑:
修改隧道信息,将保留成功的二级子域名配置到隧道中
- 域名类型:选择二级子域名
- Sub Domain:填写保留成功的二级子域名:myollama
点击更新
(注意,点击一次更新即可,不需要重复提交)
更新完成后,打开在线隧道列表,此时可以看到公网地址已经发生变化,地址名称也变成了固定的二级子域名名称的域名:
最后,我们使用固定的公网https地址访问,可以看到访问成功,这样一个固定且永久不变的公网地址就设置好了,可以随时随地在公网环境异地访问本地部署的 Open WebUI 了!
以上就是如何在Windows系统本地安装Ollama大模型工具并使用docker部署Open WebUI,结合cpolar内网穿透工具实现公网访问本地LLM,并配置固定不变的二级子域名公网地址实现远程访问的全部流程,感谢您的观看,有任何问题欢迎留言交流。