【大语言模型】本地快速部署Ollama运行大语言模型详细流程

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。
img

非常期待和您一起在这个小小的网络世界里共同探索、学习和成长。💝💝💝 ✨✨ 欢迎订阅本专栏 ✨✨

前言

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

近些年来随着 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

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

觉得有用的话点个赞 👍🏻 呗。
❤️❤️❤️本人水平有限,如有纰漏,欢迎各位大佬评论批评指正!😄😄😄

💘💘💘如果觉得这篇文对你有帮助的话,也请给个点赞、收藏下吧,非常感谢!👍 👍 👍

🔥🔥🔥Stay Hungry Stay Foolish 道阻且长,行则将至,让我们一起加油吧!🌙🌙🌙

img

相关推荐

  1. OLLAMA:如何像云端一样运行本地语言模型

    2024-06-17 18:48:03       20 阅读
  2. 本地启动ollama语言模型

    2024-06-17 18:48:03       5 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-06-17 18:48:03       14 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-06-17 18:48:03       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-06-17 18:48:03       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-06-17 18:48:03       18 阅读

热门阅读

  1. 胡说八道(24.6.16)——数字电子技术以及通信杂谈

    2024-06-17 18:48:03       6 阅读
  2. Docker

    2024-06-17 18:48:03       4 阅读
  3. vue中ref与$parent/$children⽗⼦组件通信例子

    2024-06-17 18:48:03       4 阅读
  4. 微信小程序的常用api

    2024-06-17 18:48:03       5 阅读
  5. 【无标题】

    2024-06-17 18:48:03       6 阅读
  6. [C语言]条件编译

    2024-06-17 18:48:03       7 阅读
  7. 敏捷测试:方法和实践

    2024-06-17 18:48:03       5 阅读
  8. Linux sudo -i取消密码的方法

    2024-06-17 18:48:03       6 阅读
  9. 怎样在C语⾔中制作动画?

    2024-06-17 18:48:03       6 阅读
  10. Go 基础丨切片 slice

    2024-06-17 18:48:03       5 阅读