一文教你在windows上实现ollama+open webui、外网访问本地模型、ollama使用GPU加速

前言:

ollama工具的出现让大语言模型的部署变得格外的轻松,但是在windows系统部署之后发现无法使用GPU进行加速,通过多方面查找资料发现可以在docker中使用命令启用GPU加速。另外通过Docker也可以快速部署open webui,于是本文基于docker实现ollama模型的部署,以及webui部署。

最终部署成功后可以实现公网访问本地大语言模型功能。

目录:

安装docker

在docker中安装ollama

在docker中安装webui

内网穿透实现公网访问本地大语言模型

环境:

系统:windows10

CPU:i5-9400

GPU:GTX1050ti

内容

安装docker

第一步:启动Hyper-v

如果之前没有安装过docker,需要先进行设置一下。

依次打开 控制面板>程序>程序和功能>启用或关闭windows功能

勾选Hyper-V、虚拟机平台、Linux子系统并点击确认

确认后重启计算机

第二步:安装WSL

打开 powershell,以管理员的身份启动命令窗口

输入

wsl --update

安装

wsl --install

安装成功后重启电脑

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

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

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

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

在docker中使用GPU运行ollama

第一步:安装英伟达容器安装包

打开之前安装的ubuntu

依次将一下命令输入ubuntu

配置apt源

curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \&& curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list

更新源

sudo apt-get update

安装工具包

sudo apt-get install -y nvidia-container-toolkit

第二步:使用GPU运行ollama

docker run --gpus all -d -v /opt/ai/ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama

第三步:使用ollama下载模型

docker exec -it ollama ollama run qwen:7b

如果想要下载其他的模型,点击连接:library,选择并于同的模型

选择不同的模型复制下载命令

docker exec -it ollama  ollama run llama3

在docker中安装webui

github开源地址:

https://github.com/open-webui/open-webui

直接复制命令在windows powershell中运行

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

等待安装完毕

安装完毕后打开docker,点击地址

点击注册管理员账号

创建账户后登录

内网穿透实现公网访问本地大语言模型

第一步:下载cpolar

cpolar官网地址: https://www.cpolar.com

点击免费注册,注册一个账号

注册登录后下载cpolar

安装成功后在浏览器访问http://localhost:9200 ,使用已经注册好的账号登录

点击创建隧道,并配置

创建一个 ollama1 的公网http地址隧道:

  • 隧道名称:ollama(可自定义命名,注意不要与已有的隧道名称重复)
  • 协议:选择http
  • 本地地址:3000 (本地访问的地址)
  • 域名类型:免费选择随机域名
  • 地区:选择China Top

创建好后可以选择在线隧道列表,复制公网网址即可实现公网访问本地模型

本文参考

Windows本地部署Ollama+qwen本地大语言模型Web交互界面并实现公网访问-腾讯云开发者社区-腾讯云https://github.com/1Panel-dev/MaxKB/wiki/%E5%A6%82%E4%BD%95%E8%AE%A9Ollama%E4%BD%BF%E7%94%A8GPU%E8%BF%90%E8%A1%8CLLM%E6%A8%A1%E5%9E%8B

Windows安装使用Docker,方便你的开发和部署(DockerDesktop篇)_windows安装docker-CSDN博客

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

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

相关文章

cmake进阶:文件操作之写文件

一. 简介 cmake 提供了 file() 命令可对文件进行一系列操作,譬如读写文件、删除文件、文件重命名、拷贝文件、创建目录等等。 接下来 学习这个功能强大的 file() 命令。 本文学习 CMakeLists.txt语法中写文件操作。 二. cmake进阶:文件操作之写文件…

【活动】如何通过AI技术提升内容生产的效率与质量

🌈个人主页: 鑫宝Code 🔥热门专栏: 闲话杂谈| 炫酷HTML | JavaScript基础 ​💫个人格言: "如无必要,勿增实体" 文章目录 如何通过AI技术提升内容生产的效率与质量引言一、自然语言处理(NLP&…

预约咨询小程序源码搭建/部署/上线/运营/售后/更新

包含在线咨询、视频咨询、电话咨询、面询多种咨询方式,适用于心理、法律、宠物等预约咨询问诊场景 分类预览:小程序提供清晰的分类选项,使用户能够迅速找到所需的咨询服务类型,如法律咨询、心理咨询、医疗咨询等。预约时间选择&a…

HTML_CSS学习:定位

一、相对定位 相关代码&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>相对定位</title><style>.outer{width: 500px;background-color: #999ff0;border: 1px solid #000;p…

网线 网口 绿灯:链路连接,黄灯:数据信号 ——网络

正常情况&#xff1a;绿灯常亮&#xff0c;橙色常亮或闪烁。有信号传输时闪烁&#xff0c;没信号时常亮。 绿灯是链路指示&#xff08;即连接&#xff09;&#xff0c;黄灯是信号指示&#xff08;即传数据&#xff09; 一.分情况说明: 1.黄灯闪动,绿灯长亮:网线正常,正在通信中…

十四、网络编程

目录 一、网络编程概述二、网络通讯要素1、IP和端口号2、网络通信协议 三、IP和端口号四、网络协议1、网络通信协议2、TCP/IP协议簇1&#xff09;TCP协议2&#xff09;UDP 3、Socket 五、TCP网络编程1、基于Socket的TCP编程1&#xff09;客户端创建socket对象2&#xff09; 服务…

SQL运算符以及使用变量参与实际的查询(增删改)操作

#关系运算符&#xff08;<>!not&#xff09;与逻辑运算符&#xff08;&and|or&#xff09;set x7,y5;select x>y as TRUE,x<y as FALSE;#正确返回值true,实际返回值1&#xff0c;false0select xy;# 判断两个数值是否相等无需使用&#xff08;&#xff09;号&am…

HTML中插入图片(2024/5/10)

背景&#xff1a; 自己做了个小网站&#xff0c;想在网页的右下角贴上自己的微信二维码&#xff0c;用以下代码就可以了。 注意&#xff0c;这里是放右下角了&#xff0c;距离和二维码的图片大小需要自己去调整。 /*二维码的名字和路径需要自己修改*/ <!DOCTYPE html>…

C++初阶学习第六弹——string(1)——标准库中的string类

前言&#xff1a; 在前面&#xff0c;我们学习了C的类与对象&#xff0c;认识到了C与C语言的一些不同&#xff0c;今天&#xff0c;我们将进入C的 关键部分——STL&#xff0c;学习完这部分之后&#xff0c;我们就可以清楚的认识到C相比于C语言的快捷与便利 一、为什么有string…

获取文件夹下的vue文件形成组件,require.context

前言&#xff1a;项目中现有一个文件里面包含所有需要用到的组件&#xff0c;如果一个个的去import&#xff0c;则会非常麻烦&#xff0c;现有require.context去实现&#xff0c; 1、require.context var request require.context(‘./module’, true, /.js$/) require.cont…

AI编码工具-通义灵码功能实测(二)

AI编码工具-通义灵码功能实测&#xff08;二&#xff09; 通义灵码智能问答 在上一篇文章中&#xff1a;https://blog.csdn.net/csdn565973850/article/details/138563670?spm1001.2014.3001.5501 讲述了通义灵码的7大应用场景&#xff0c;这里在使用过程中遇到了一些问题&…

视频剪辑一键处理技巧:批量分割视频,快速提取m3u8视频

随着网络视频的普及和多样化&#xff0c;视频剪辑和处理成为了很多用户的基本需求。在众多的视频处理技巧中&#xff0c;批量分割视频快速提取m3u8视频是常见的操作。本文将介绍如何利用云炫AI智剪一键处理的技巧&#xff0c;轻松完成这些任务&#xff0c;提高视频剪辑的效率。…

Java中的包(package)是什么和如何使用它们

目录 一、什么是Java包&#xff1f; 二、为什么使用包&#xff1f; 三、如何创建和使用包 创建包 引入包 四、包的实际应用 总结 Java中的包&#xff08;package&#xff09;是一种用于组织相关类和接口的命名空间。通过将代码逻辑地分组&#xff0c;它们有助于维护大型…

安卓提示Cannot resolve symbol ‘BuildConfig‘

安卓提示Cannot resolve symbol BuildConfig build.gradle android {...defaultConfig {...versionName "1.1.2" // 这里设置版本号...}... }java代码使用 tv_version.setText(BuildConfig.VERSION_NAME) ; 提示错误 Cannot resolve symbol BuildConfig 解决办法 bu…

QT功能 实现静态内容国际化实验

文章目录 第一步&#xff1a;新建一个QT工程第二步&#xff1a;添加控件第三步&#xff1a;在pro文件中添加内容第四步&#xff1a;更新文件第五步&#xff1a;打开QT的Linguist第六步&#xff1a;添加翻译内容第七步&#xff1a;回到QT Creator中添加文件第八步&#xff1a;给…

初阶数据结构—顺序表和链表

第一章&#xff1a;线性表 线性表&#xff08;linear list&#xff09;是n个具有相同特性的数据元素的有限序列。 线性表是一种在实际中广泛使用的数据结构&#xff0c;常见的线性表&#xff1a;顺序表、链表、栈、队列、字符串... 线性表在逻辑上是线性结构&#xff0c;也就…

定时监控 Docker 服务

使用 docker 启动 x服务 之后&#xff0c;为了保证服务稳定&#xff0c;需要使用脚本监控该服务&#xff1a; 脚本内容 check_x_server.sh #/bin/bashcd /data/server #存放check_x_server.sh脚本的路径time$(date "%Y%m%d-%H:%M:%S") echo $time" checki…

推荐一个开源的MES系统

软件介绍 HM-MES是一款旨在帮助工厂实现生产计划、工艺管理和质量控制的工业生产管理软件。该软件基于Java Web技术和MySql数据库开发&#xff0c;拥有简洁、易用、安全和稳定等特点&#xff0c;适用于广泛的生产管理场景。 功能描述 1.产品和原材料双向溯源&#xff0c;支持二…

【.Net动态Web API】参数模型绑定来源

🚀前言 本文是《.Net Core进阶编程课程》教程专栏的导航站(点击链接,跳转到专栏主页,欢迎订阅,持续更新…) 专栏介绍:通过源码实例来讲解Asp.Net Core进阶知识点,让大家完全掌握每一个知识点。 专栏适用于人群:Web后端开发人员 ———————————————— …

初学者理解Transformer,本文is all you need

要问现在AI领域哪个概念最热&#xff0c;必然是openAI推出chatGPT之后引发的大模型。然而这项技术的起源&#xff0c;都来自一篇google公司员工的神作“Attention Is All You Need”——本文标题也是一种致敬^_^&#xff0c;目前已有近12万的引用(还在增长)。 在“Attention Is…