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

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

  • 推荐:kwan 的首页,持续学习,不断总结,共同进步,活到老学到老
  • 导航
    • 檀越剑指大厂系列:全面总结 java 核心技术,jvm,并发编程 redis,kafka,Spring,微服务等
    • 常用开发工具系列:常用的开发工具,IDEA,Mac,Alfred,Git,typora 等
    • 数据库系列:详细总结了常用数据库 mysql 技术点,以及工作中遇到的 mysql 问题等
    • 新空间代码工作室:提供各种软件服务,承接各种毕业设计,毕业论文等
    • 懒人运维系列:总结好用的命令,解放双手不香吗?能用一个命令完成绝不用两个操作
    • 数据结构与算法系列:总结数据结构和算法,不同类型针对性训练,提升编程思维,剑指大厂

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

博客目录

    • 前言
    • 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

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

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

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

相关文章

【源码】Spring事务之事务失效及原理

Spring事务 1、【源码】SpringBoot事务注册原理 2、【源码】Spring Data JPA原理解析之事务注册原理 3、【源码】Spring Data JPA原理解析之事务执行原理 4、【源码】SpringBoot编程式事务使用及执行原理 5、【源码】Spring事务之传播特性的详解 6、【源码】Spring事务之…

怎么将经典动漫秒变高清动漫?

你的记忆中是否也有一部经典的动漫、动画片。那是我们童年的美好记忆&#xff0c;但是我们现在如果再去重温时往往会因为太模糊而看不下去&#xff0c;那么我们有什么好的办法可以修复动漫的清晰度呢&#xff1f;一起来看看吧&#xff01; 不管是修复动画片&#xff0c;还是修复…

SelfGNN: Self-Supervised Graph Neural Networks for Sequential Recommendation

SelfGNN: Self-Supervised Graph Neural Networks for Sequential Recommendation&#xff08;Sigir2024&#xff09; 摘要 顺序推荐通过对用户的时间和顺序交互模式进行建模&#xff0c;有效地解决信息过载问题。 为了克服监督信号的局限性&#xff0c;最近的方法在推荐系统中…

Hyper-V如何将文件复制到虚拟机?教您3个简单的方法!

需要将文件复制到虚拟机&#xff01; “大家好&#xff0c;有谁知道Hyper-V怎么将文件复制到虚拟机吗&#xff1f;我有一些文件&#xff0c;想要从主机中复制进虚拟机中&#xff0c;但是我不知道该怎么操作&#xff0c;有谁可以帮帮我吗&#xff1f;谢谢。” Hyper-V虚拟机可…

Vuex遇到浏览器刷新,store里存的数据还在吗?

我们在做Vue前端项目的时候&#xff0c;很可能会使用Vuex来做一些状态或者数据管理&#xff0c;希望在一定程度上&#xff0c;不发送网络请求&#xff0c;不经过密集的组件数据传输&#xff0c;也可以达到数据共享的目的。但如果浏览器页面刷新了&#xff0c;Vuex中store里存的…

​1:25万基础电子地图(江西版)

我们在《50幅1:25万基础电子地图&#xff08;四川版&#xff09;》和《1&#xff1a;25基础电子地图&#xff08;云南版&#xff09;》等文中&#xff0c;为你分享过四川和云南的基础电子地图。 现在我们再为你分享江西的1&#xff1a;25万基础电子地图&#xff0c;你可以在文…

成都某展厅2套2x2透明OLED拼接屏项目

成都某展厅的2套2x2透明OLED拼接屏展示设计具有独特的技术魅力和视觉效果。以下是关于这一展示设计的详细介绍&#xff1a; 1.产品规格 类型&#xff1a;透明OLED拼接屏 尺寸与配置&#xff1a;每套为2x2拼接&#xff0c;即每套由4块屏幕组成。 2.应用场景 成都某展厅&#…

最新下载:Boom 3D软件安装视频教程

简介&#xff1a; Boom 3D是适用于Mac和Windows系统的专业音效增强软件&#xff0c;旨在通过播放器&#xff0c;媒体或流媒体服务等介质&#xff0c;在不同类型的耳机上以3D环绕效果播放媒体内容。您无需使用昂贵的耳机或其他附加环绕音效增强器即可感受3D环绕音乐。 安 装 包…

怎么把网页上的接口信息导入postman

第一步 打开f12&#xff0c;右键选中需要的接口。选择copy-copy as cURL 第二步 打开postman&#xff0c;选择"Raw Text"&#xff0c; 把刚才复制的curl粘贴到空白位置&#xff0c;点击Continue - 最后的效果。导入的接口自带cookie&#xff0c;不用再输入cookie&a…

zotero style最新(可全文翻译)

问题&#xff1a;在下载zotero style的时候&#xff0c;总会出现各种奇奇怪怪的问题&#xff0c;不是期刊没有级别&#xff0c;就是没有IF之类的&#xff1b; 解决&#xff1a;https://github.com/MuiseDestiny/zotero-style/releases 在这里下载最新的版本 若要使用全文翻译…

Matlab进阶绘图第60期—带伪彩图的曲面图

带伪彩图的曲面图是曲面图与伪彩图的组合。 其中&#xff0c;伪彩图与曲面图的颜色用于表示同一个特征。 由于伪彩图无遮挡但不直观&#xff0c;曲面图直观但有遮挡&#xff0c;而将二者组合&#xff0c;可以实现优势互补。 本期就来分享一下带伪彩图的曲面图的绘制方法&…

深入探索Java开发世界:Java基础~类型分析大揭秘

文章目录 一、基本数据类型二、封装类型三、类型转换四、集合类型五、并发类型 Java基础知识&#xff0c;类型知识点梳理~ 一、基本数据类型 Java的基本数据类型是语言的基础&#xff0c;它们直接存储在栈内存中&#xff0c;具有固定的大小和不变的行为。 八种基本数据类型的具…

【WEB前端2024】3D智体编程:乔布斯3D纪念馆-第42课-多人联机-实时互动

【WEB前端2024】3D智体编程&#xff1a;乔布斯3D纪念馆-第42课-多人联机-实时互动 使用dtns.network德塔世界&#xff08;开源的智体世界引擎&#xff09;&#xff0c;策划和设计《乔布斯超大型的开源3D纪念馆》的系列教程。dtns.network是一款主要由JavaScript编写的智体世界…

操作系统入门 -- CPU调度算法

操作系统入门 – CPU调度算法 在了解完进程和线程的概念后&#xff0c;我们就需要了解当一个进程就绪后系统会进行怎样的资源分配并运行进程&#xff0c;因此我们就需要了解CPU的调度算法 1.CPU调度 1.1概念 CPU调度即按照某种算法将CPU资源分配给某个就绪的进程。 1.2调度…

【无标题】Pycharm执行报错

file 读取未指定utf-8编码&#xff0c;加上就好了 疑问&#xff1a;为什么 有的电脑可以直接跑呢&#xff1f;该电脑、Pycharm、工程&#xff0c;已经做了修改设置默认值&#xff0c;但是到新的电脑上&#xff0c;就需要重新设置&#xff0c;所以 file 读、写&#xff0c;最好…

超声波清洗机洗眼镜干净吗?四大珍藏高分超声波清洗机分享!

超声波清洗机就是一种方便快捷且高效的一种智能清洁工具&#xff0c;作为清洁领域的功能集成产品给人们带来了更高质的清洁体验。无论你是注重生活品质还是追求性价比&#xff0c;又或者是探索智能科技产品的爱好者&#xff0c;超声波清洗机肯定不会让你失望的&#xff01;毕竟…

常见的安全测试漏洞

&#x1f345; 视频学习&#xff1a;文末有免费的配套视频可观看 &#x1f345; 点击文末小卡片 &#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 一、SQL注入攻击 SQL 注入攻击主要是由于程序员在开发过程中没有对客户端所传输到服务器端的参…

来自红队大佬的经验之谈---命令执行过滤绕过-Windows篇

感谢来自老流氓大佬的投稿&#xff0c;本次文章介绍的是在windows环境下&#xff0c;过滤的“点”和“空格”等符号&#xff0c;导致在写入webshell时会受限。以下是针对该目标的绕过记录。 首先是命令执行和过滤验证&#xff0c;如下&#xff1a;​ 执行dir命令&#xff0c;…

Windows CSC服务特权提升漏洞(CVE-2024-26229)

文章目录 前言声明一、漏洞描述二、漏洞成因三、影响版本四、漏洞复现五、CVE-2024-26229 BOF六、修复方案 前言 Windows CSC服务特权提升漏洞。 当程序向缓冲区写入的数据超出其处理能力时&#xff0c;就会发生基于堆的缓冲区溢出&#xff0c;从而导致多余的数据溢出到相邻的…

生产 的mybatisplus 日志输入到日志文件

默认是输出到控制台.不输出到日志文件 输出到日志文件.需要修改配置 第一步. logging:config: classpath:logback-wshoto.xml第二步 mybatis-plus:configuration:cache-enabled: truedefault-executor-type: reuselog-impl: org.apache.ibatis.logging.slf4j.Slf4jImpl第三步…