Ollama+Open WebUI本地部署Llama3 8b(附踩坑细节)

先展示一下最终结果,如下图所示:

1. 添加环境变量

在下载 ollama 之前,先去配置环境变量,确保模型下载到我们想要的地方

win10 和 win11 输入path或者环境变量:

增加系统环境变量

变量名不可更改,必须是OLLAMA_MODELS,变量值可以自定义,

2. 下载ollama

下载网址:Download Ollama on macOS

下载后得到安装包,如果不添加环境变量的话,默认会安装到C盘

3. 检验是否安装成功

输入ollama命令,正常的得出命令行输出,表示已经安装成功

4. 通过ollama下载模型

4.1. ollama 模型库

详见library (ollama.com),用于搜索已收录的模型库。以下是一些流行的模型:

4.2. 下载运行llama3 8b

ollama run llama3:8b # 运行llama3 8b大模型

直接使用 run 命令 + 模型名字就可以运行模型。如果之前没有下载过,那么会自动下载。下载完毕之后可以在终端中直接进行对话了。

5. 安装open-webui

open-webui 项目网址:GitCode - 全球开发者的开源社区,开源代码托管平台

open-webui 是一款可扩展的、功能丰富的用户友好型自托管 Web 界面,旨在完全离线运行。它支持包括 Ollama 和与 OpenAI 兼容的 API 在内的多种 LLM 运行器。想了解更多信息,可以查阅开放式WebUI文档。

5.1. docker 安装

open-webui 可以通过 docker 安装,也可以通过pip安装,pip安装较为简单,具体见安装文档:🏡 Home | Open WebUI

下面我将介绍安装 docker 时遇到的一些问题

docker 官网:https://www.docker.com/products/docker-desktop/

先去官网下载安装包

下载完之后默认安装在C盘,安装在C盘麻烦最少可以直接运行,也可以通过软链接保存到其他盘,但可能会出现一系列问题。

最开始我是直接下载的,没有任何问题,按照下面链接中的方法重新下载之后,虽然没有占用C盘的空间,但却出现了 wsl 连接问题,导致 docker 不能使用,最终也没有找到解决方法,可能是因为我在写在的时候有文件残留,没卸载干净,亦或是wsl配置项出了问题,连接不上wsl了。看来还是只能在 linux 系统上安装或是允许他安装到C盘上了,不正规的花活还是风险很大,大家酌情考虑吧,个人建议安装在 linux 系统上最好,方便又快捷。

具体方法见:https://zhuanlan.zhihu.com/p/605317554

在不进行软连接的情况下安装 docker(安装在C盘):

安装完毕之后进入下面这个界面:

需要更改的设置有两处:

添加代理,这样本地找不到的容器会自动到网上去找,添加后点 Apply。

添加镜像,加快下载速度,添加后点 Apply。

{"builder": {"gc": {"defaultKeepStorage": "20GB","enabled": true}},"experimental": false,"features": {"buildkit": true},"registry-mirrors": ["https://1nj0zren.mirror.aliyuncs.com","https://docker.mirrors.ustc.edu.cn","http://f1361db2.m.daocloud.io","https://registry.docker-cn.com"]
}

到这里 docker desktop 的配置就大功告成了,可以开始下载 open-webui 容器了 。

5.2. docker 卸载

控制面板 -> 卸载程序 -> 双击Docker Desktop

但这样卸载不干净,存在文件残留,我尝试找到了几个,供参考:

"C:\Users\ASUS\AppData\Local\Docker" 
"C:\Users\ASUS\AppData\Roaming\Docker"
"C:\Users\ASUS\AppData\Roaming\Docker Desktop"

5.3. 通过 docker 下载 Open WebUI

  • 如果你的计算机上有 Ollama,请使用以下命令:
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
  • 如果 Ollama 位于不同的服务器上,请使用以下命令:

要连接到另一台服务器上的 Ollama,请更改OLLAMA_BASE_URL为该服务器的 URL:

docker run -d -p 3000:8080 -e OLLAMA_BASE_URL=https://example.com -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main
  • 要运行支持 Nvidia GPU 的 Open WebUI,请使用以下命令:
docker run -d -p 3000:8080 --gpus all --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:cuda

5.3.1. 仅供OpenAI API 使用安装

  • 如果您仅使用 OpenAI API,请使用此命令:
docker run -d -p 3000:8080 -e OPENAI_API_KEY=your_secret_key -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main

5.3.2. 同时安装 Ollama 和 Open WebUI

此安装方法使用将 Open WebUI 与 Ollama 捆绑在一起的单个容器映像,从而允许通过单个命令进行简化设置。根据您的硬件设置选择适当的命令:

  • 借助 GPU 支持:通过运行以下命令来利用 GPU 资源:
docker run -d -p 3000:8080 --gpus=all -v ollama:/root/.ollama -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:ollama
  • 仅适用于 CPU:如果您不使用 GPU,请改用以下命令:
docker run -d -p 3000:8080 -v ollama:/root/.ollama -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:ollama

这两个命令都有助于 Open WebUI 和 Ollama 的内置、无忧安装,确保您可以快速启动并运行一切。

安装后,可以通过http://localhost:3000访问 Open WebUI 。

最终效果:

Sign up 创建账户并登录后,左上角模型选择我们之前下好的llama3:8b,就可以开始对话了,可以上传文件,响应速度还是很快的:

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

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

相关文章

[ARM-2D 专题]3. ##运算符

C语言的宏系统相当强大,它允许使用##符号来处理预处理期的文本替换。这种用法被称为标记连接(token pasting)操作,其结果是将两个标记紧紧地连接在一起,而省略掉它们之间的所有空格。在复杂的宏定义中,运用…

Debian/Ubuntu linux安装软件

1、官方软件商店安装 2、deb包安装 报错不是sudoers,首先将用户添加到sudo su -l adduser USERNAME sudo exit然后,退出桌面环境并再次登录。 您可以通过输入以下内容来检查上述过程是否成功: groups下载deb包 altshiftf4或右键打开命令行…

10.无代码爬虫软件做网页数据抓取流程——工作流程设置与数据预览

首先,多数情况下免费版本的功能,已经可以满足绝大多数采集需求,想了解八爪鱼采集器版本区别的详情,请访问这篇帖子:https://blog.csdn.net/cctv1123/article/details/139581468 八爪鱼采集器免费版和个人版、团队版下…

安卓实现输入快递单号生成二维码,摄像头扫描快递单号生成的二维码,可以得到快递信息

背景: 1、实现二维码的生成和识别2、实现andriod(或虚拟机)部署,调用摄像头3、实现网络管理,包括数据库【取消】2、3可以组队实现,1必须单人实现 过程: 安卓APP主界面 输入快递单号信息&#…

关于伪标头那些事

前言 看到伪标头,不少同学可能会比较陌生,因为谁让它默默无闻呢? 当然博主把它比喻为一个来自传输层的“共享盒子”。提到共享,我想大家有所体会了。这里给大家贴一张直观的图例,可以静静观摩之。 Q:什么是…

MFC扩展库BCGControlBar Pro v35.0新版亮点:重新设计的工具栏编辑器等

BCGControlBar库拥有500多个经过全面设计、测试和充分记录的MFC扩展类。 我们的组件可以轻松地集成到您的应用程序中,并为您节省数百个开发和调试时间。 BCGControlBar专业版 v35.0已全新发布了,这个版本改进类Visual Studio 2022的视觉主题、增强对多个…

网络安全:SQL注入防范

文章目录 网络安全:SQL注入防范引言防范措施概览使用参数化查询示例代码 输入验证和过滤示例代码 使用ORM框架示例代码 其他防范措施结语 网络安全:SQL注入防范 引言 在上一篇文章中,我们介绍了SQL注入攻击的基础知识。本文将重点讨论如何防…

C++之函数重载

函数重载概念&#xff1a; 是函数的一种特殊情况&#xff0c; C 允许在 同一作用域中 声明几个功能类似 的同名函数 &#xff0c;这 些同名函数的 形参列表(参数个数 或 类型 或 类型顺序)不同 &#xff0c;常用来处理实现功能类似数据类型 不同的问题。 #include<iostre…

Postman接口测试工具详解(高清图例)

一、引言 1. 介绍接口测试的重要性 在当今软件开发领域&#xff0c;接口&#xff08;API&#xff09;已成为不同系统、服务或组件之间交互的桥梁。随着微服务架构的普及&#xff0c;接口的重要性日益凸显。然而&#xff0c;接口的复杂性和多样性也带来了诸多挑战&#xff0c;其…

月球全月地质图和4.5亿像素月面标注地图

嫦娥六号都在月球挖到土特产了&#xff0c;那你知道月球到底长什么样子吗&#xff1f; 现在我们就为你分享一下月球的全月地质图&#xff0c;以及4.5亿像素月面带标注的地图&#xff0c;你可以在文末查看该数据的领取方法。 月球全月地质图 对于月球的探索&#xff0c;美国和…

arsetryhtehrwgefwadasdadasd

48b91400000080f7ffff48b8bd427ae5d594bfd6488b0948f7e148b8cdcccccccccccccc48c1ea1748f7e24c8bea49c1ed02 直接在windbg中把执行内存修改为上面这一串字节序列&#xff0c;运行完成后r13中将包含当前时间戳&#xff0c;可使用如下代码转换成人类可阅读时间格式 /*代码BEGIN*…

YOLOv8 + SAM实现自动标注分割数据集【附完整源码+步骤详解】

《博主简介》 小伙伴们好&#xff0c;我是阿旭。专注于人工智能、AIGC、python、计算机视觉相关分享研究。 ✌更多学习资源&#xff0c;可关注公-仲-hao:【阿旭算法与机器学习】&#xff0c;共同学习交流~ &#x1f44d;感谢小伙伴们点赞、关注&#xff01; 《------往期经典推…

014基于SSM+Jsp的网络视频播放器

开发语言&#xff1a;Java框架&#xff1a;ssm技术&#xff1a;JSPJDK版本&#xff1a;JDK1.8服务器&#xff1a;tomcat7数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09;数据库工具&#xff1a;Navicat11开发软件&#xff1a;eclipse/myeclipse/ideaMaven包…

北京十大金牌律师事务所(2024年权威高胜诉率推荐)

律师职业本身&#xff0c;是一个看起来很美、说起来很烦、听起来很阔、做起来很难的职业。所谓术业有专攻&#xff0c;律师的专业就是解决法律纠纷&#xff0c;负责为个人和组织提供法律咨询和代理法律服务。律师在执行其职责时需要遵守道德准则和法律规定&#xff0c;并以客户…

数据可视化实验一:Panda数据处理及matplotlib绘图初步

目录​​​​​​​ 2024-6-17 一、请将所有含有发明家“吴峰”的发明专利的“申请日”打印出来。并将含有“吴峰”的所有发明专利条目保存到Excel中 1.1 代码实现 1.2 运行结果 二、读取文件创建城市、人口、性别比、城镇化率DataFrame对象&#xff0c;计算指标排名&…

同三维T80004EH-N HDMI高清NDI编码器

1路HDMI 1路3.5音频输入,支持NDI 产品简介&#xff1a; 同三维T80004EH-N 高清HDMI编码器是专业的NDI高清音视频编码产品&#xff0c;该产品支持1路高清HDMI音视频采集功能&#xff0c;1路3.5MM独立音频接口采集功能。编码输出双码流H.265/H.264格式&#xff0c;音频MP3/AAC格…

小程序开发平台源码系统商业运营版 带完整的安装代码包以及搭建教程

系统概述 小程序开发平台源码系统商业运营版 是一套基于现代技术栈开发的&#xff0c;专为中小企业及个人开发者设计的小程序快速开发与运营管理解决方案。该系统采用模块化架构设计&#xff0c;集成了代码生成器、可视化拖拽编辑器、多端适配引擎、云端部署、数据统计分析等多…

【图书推荐】《Hive入门与大数据分析实战》

本书重点 Hive的网站流量分析项目、旅游酒店评价大数据分析项目&#xff0c;两个案例&#xff08;均包括SQL和Java编程两种解决方法&#xff0c;SQL实现不用编程&#xff09;可用于课题研究和毕业论文素材。 内容简介 Hive是基于Hadoop的一个数据仓库工具&#xff0c;用来进…

Stable Diffusion基础:ControlNet之细节替换

本文继续给大家分享 Stable Diffusion 的基础能力&#xff1a;ControlNet之细节替换&#xff0c;故事的主角是 Tile。 Tile 的原意是瓦片、瓷砖。作为 ControlNet&#xff0c;它会对参考图进行分块&#xff0c;并识别出区块内的对象。如果提示词和区块内的对象匹配&#xff0c…

ucos抢占式实时多任务操作系统 (RTOS)。

介绍 uCOS (也称为 μC/OS 或 Micro-Controller Operating System) 是一个开源的、可移植的、可裁剪的、抢占式实时多任务操作系统 (RTOS)。它最初由 Jean J. Labrosse 编写&#xff0c;并广泛用于嵌入式系统设计中。uCOS 是一个小型的 RTOS&#xff0c;非常适合那些需要实时性…