本地部署Ollama+千文大模型,docker openui访问

news2024/11/26 19:54:44

文章目录
前言
1. 运行Ollama
2. 安装Open WebUI
2.1 在Windows系统安装Docker
2.2 使用Docker部署Open WebUI

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

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


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

登录后复制
setx OLLAMA_MODELS "D:\ollama_model"
1.


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

至此,在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
1.
安装

登录后复制
wsl --install
1.


然后再次重启电脑。

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

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

选择Windows最新版本:

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

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

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
1.
现在我们打开终端,比如powershell,然后输入docker,回车

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

然后将上边在docker中部署Open WebUI的命令复制后粘贴到终端中,回车。

然后等待安装完毕即可:如下图所示

安装完成后,在Docker Desktop中可以看到Open WebUI的web界面地址为:https://localhost:3000

点击后,会在浏览器打开登录界面:

点击sign up注册,账号,邮箱,密码记好,下次登录时需要用到邮箱和密码登录:

然后点击create account创建账号即可:然后就能在浏览器中使用类似chatgpt界面的Open WebUI了!

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

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

                            版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
                        
原文链接:https://blog.csdn.net/cnzzs/article/details/141290080

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

回答网友从内存中执行函数的一个问题

事情是这样的 网友想调用dll&#xff0c;但是不想把dll释放到硬盘&#xff0c;想放在内存中。 俺的回答是&#xff1a;是从内存中&#xff0c;根据pe结构确定call的地址。 例子 先准备一个dll library dll; {$R *.res} function getValue(p1, p2: integer): integer; s…

Android开发首页底部tab切换图标有动画效果

Android开发首页底部tab切换图标有动画效果 主页tab切换很正常&#xff0c;但往往加上写动画更好看 一、思路&#xff1a; 用属性动画&#xff0c;并且事先准备多张图片&#xff0c;用于切换后播放动画 二、效果图&#xff1a; 单纯图看不出来&#xff0c;看下视频效果 An…

slam系列2:刚体坐标变换

线性代数的基础知识参考这篇&#xff1a;https://xin1999.blog.csdn.net/article/details/124779288 1. 刚体变换 刚体变换仅有旋转平移功能&#xff0c;矩阵模式表达为&#xff1a; a ′ R a t aRat a′Rat 齐次坐标就是在原n维坐标表示上增加了一个维度&#xff0c;使用n…

# 执行 rpm -qa | grep qq 查询软件安装情况时报错 数据库损坏 db3 error(-30974)

执行 rpm -qa | grep qq 查询软件安装情况时报错 数据库损坏 db3 error(-30974) 一、问题描述&#xff1a; 在 linux 系统上&#xff0c;使用包管理工具 rpm 查询某一个软件安装情况&#xff0c;如&#xff1a;执行 rpm -qa | grep qq 时&#xff0c;报错 数据库损坏 db3 err…

【升华】一个简单而标准的接口定义格式

一、前言 每天都在写很多接口&#xff0c;有的是有设计的接口&#xff0c;有的是无设计的接口。如果接口没有进行设计&#xff0c;也没有设计文档后期将很难扩展和维护。那么怎么简单定义一个简单而标准的Java的接口呢。下面给出格式。 二、JAVA接口设计文档 一个接口的定义一…

心觉:能让孩子卷则卷,但是度一定要把握好

Hi&#xff0c;我是心觉&#xff0c;与你一起玩转潜意识、脑波音乐和吸引力法则&#xff0c;轻松掌控自己的人生&#xff01; 挑战每日一省写作198/1000天 现在家长普遍想让孩子考个好的学校&#xff0c;上好的幼儿园、小学、初中、高中甚至大学 为了上一个好的学校&#xf…

智能电子后视镜,汽车驾驶更安全,会是一种趋势

相比于传统的后视镜&#xff0c;智能电子后视镜的确有很多的优点。在下雨天和夜晚场景&#xff0c;电子后视镜可以说是表现优秀。 我之前一直以为我们国内是有规定不能使用电子后视镜。没想到&#xff0c;偶然刷到享界S9的视频&#xff0c;这电子后视镜&#xff0c;妥妥的给安排…

QD1-P21-P22 CSS 基础语法、注释、使用方法

本节学习&#xff1a;CSS 基础语法和注释&#xff0c;以及如何使用CSS定义的样式。 本节视频 https://www.bilibili.com/video/BV1n64y1U7oj?p21 CSS 基本语法 CSS&#xff08;层叠样式表&#xff09;的基本语法相对简单&#xff0c;由选择器和一组包含在花括号 {}​ 中的声…

研发线上事故风险解读之缓存篇

专业在线打字练习平台-巧手打字通&#xff0c;只输出有价值的知识。 一 前言 本文继续基于《线上事故案例集》&#xff0c;进一步深入梳理线上事故缓存使用方面的问题点&#xff0c;重点关注缓存在使用和优化过程中可能出现的问题&#xff0c;旨在为读者提供具有实践指导意义的…

矩形函数的傅里叶变换——从一维到二维,从连续到离散

一维连续矩形函数的傅里叶变换 二维连续矩形函数的傅里叶变换 禹晶、肖创柏、廖庆敏《数字图像处理&#xff08;面向新工科的电工电子信息基础课程系列教材&#xff09;》P109 2D DFT 禹晶、肖创柏、廖庆敏《数字图像处理&#xff08;面向新工科的电工电子信息基础课程系…

java计算机毕设课设—俄罗斯方块游戏(附源码、文章、相关截图、部署视频)

这是什么系统&#xff1f; 资源获取方式再最下方 java计算机毕设课设—俄罗斯方块游戏(附源码、文章、相关截图、部署视频) 基于Java的俄罗斯方块游戏&#xff0c;以提供一种既具娱乐性又具挑战性的游戏体验。通过精心设计的游戏界面和控制功能&#xff0c;该游戏不仅能够满…

STM32G474硬件I2C之配置方法

STM32G474硬件I2C接口&#xff1a;英文Inter-integrated circuit简写为I2C。STM32G474是M4核&#xff0c;在使用硬件I2C时&#xff0c;配置方法和M3核相差较大。通过阅读参考手册和HAL&#xff0c;总算了解了其配置原理。 1、I2C工作模式 I2C标准模式&#xff1a;最高时钟频率…

使用HTML和CSS实现3D波浪动画效果

使用HTML和CSS实现3D波浪动画效果 在本篇博客中&#xff0c;将详细介绍如何使用HTML与CSS创建一个3D波浪动画效果。这个效果不仅能够在网页中创建立体感强的视觉体验&#xff0c;还能够通过悬停和聚焦实现与用户的交互。我们将逐步解析代码中的每个部分&#xff0c;帮助你掌握…

探索Theine:Python中的AI缓存新贵

文章目录 探索Theine&#xff1a;Python中的AI缓存新贵背景&#xff1a;为何选择Theine&#xff1f;Theine是什么&#xff1f;如何安装Theine&#xff1f;简单的库函数使用方法场景应用场景一&#xff1a;Web应用缓存场景二&#xff1a;分布式系统中的数据共享场景三&#xff1…

使用WordPress从零开始搭建一个本地网站实现远程访问

文章目录 前言1. 安装WordPress2. 创建WordPress数据库3. 安装相对URL插件4. 安装内网穿透发布网站4.1 命令行方式&#xff1a;4.2. 配置wordpress公网地址 5. 配置WordPress固定公网地址 前言 本文主要介绍如何在Linux Ubuntu系统上使用WordPress搭建一个本地网站&#xff0c…

C语言网络编程深入研究

网络编程是现代软件开发中的一个重要部分&#xff0c;它允许不同计算机之间相互通信和交换数据。本指南将深入探讨使用C语言进行网络编程的技术细节&#xff0c;特别是TCP/IP协议族的核心概念和技术实现。我们将通过具体的代码示例来讨论如何创建客户端和服务器程序&#xff0c…

渗透测试 之 AD域渗透 【Kerberoasting】 攻击技术讲解 对应得工具详细介绍哟~ 以及相关示例 按照步骤做你也会哟

说明 Kerberoasting 攻击发生在Kerberos协议的TGS_REP阶段&#xff0c;KDC的TGS服务返回一个由服务Hash加密的ST给客户端。由于该ST是用服务Hash进行加密的&#xff0c;因此客户端在拿到该ST后可以用于本地离线爆破。 攻击的过程 攻击者提供一个正常的域用户密码对域进行身份…

拆解学习【STC宏晶MCU-CM1020电池保护】(一)

MIJIA米家USB-C充气宝1S: 米家这款充气宝内置2串18650锂电池为电机和控制板供电。控制板采用STC宏晶MCU进行气压测量和电机控制以及压力显示&#xff0c;内部电池保护板采用创芯微CM1020进行电池保护&#xff0c;并采用捷捷微MOS管进行开关控制。 LED数码管采用贴片LED二极管…

NVM 切换Node.js版本工具

大家好我是苏麟&#xff0c;今天聊聊NVM切换版本工具。 切换 node 版本工具 &#xff1a; GitHub - nvm-sh/nvm: Node Version Manager - POSIX-compliant bash script to manage multiple active node.js versions 查看node版本 node -v 查看 nvm 版本 nvm -v 查看可安装的Nod…

JavaScript进阶笔记--深入对象-内置构造函数及案例

深入对象 创建对象三种方式 利用对象字面量new Object&#xff08;{…}&#xff09;利用构造函数 // 1. 字面量创建对象const obj1 {name: pig,age: 18};console.log(obj1); // {name: "pig", age: 18}// 2. 构造函数创建对象function Pig(name, age) {this.name…