大语言模型本地部署与使用_ollama_open-webui

news2024/11/26 12:28:44

概述

本文主要记录如何使用ollama运行开源的大语言模型如llama3等,以及如何使用open-webui进行交互。

ollama支持MacOS、Linux、Windows等操作系统,这里主要以Linux和Windows为主,讲述如何在本地运行大语言模型。

一· 安装ollama

1.1 Windows系统安装ollama

访问ollama的官方网站:https://ollama.com/,点击Download,选择WindowsLOGO下载ollama的安装包。

400

下载完成后,双击安装包,按照提示安装即可。

ollama安装完成后,可以在cmdpowershell中执行ollama --version,查看是否安装成功。

1.2 Linux系统安装ollama

1.2.1 自动安装脚本

访问ollama的官方网站:https://ollama.com/,点击Download,选择LinuxLOGO,点击后复制下方的安装指令,粘贴到Linux的终端中执行即可。

400

安装指令如下:
curl -fsSL https://ollama.com/install.sh | sh

1.2.2 使用docker安装

访问ollama托管在DockerHub的仓库Ollama Docker image,根据其README中的指令,可以使用docker安装ollama

CPU Only

docker run -d -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama

注意-v ollama:/root/.ollama 是将ollama的配置文件映射到本地,可以在更改ollama为其他文件夹

GPU版本

注:使用GPU版本需要安装Nvidia的GPU Driver和Nvidia Container Toolkit,具体安装方法可以参考Nvidia Docker。

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

同理:-v ollama:/root/.ollama 是将ollama的配置文件映射到本地,可以在更改ollama为其他文件夹

运行ollama

docker exec -it ollama ollama run llama3

二· 使用ollama运行大语言模型

2.1 ollama的基础指令

  • ollama serve:启动ollama服务
  • ollama create:创建一个模型
  • ollama show:展示模型信息
  • ollama run:运行模型
  • ollama pull:从registry拉取模型
  • ollama push:推送模型到registry
  • ollama list:列出模型
  • ollama cp:复制模型
  • ollama rm:删除模型
  • ollama help:查看帮助
  • ollama --version:查看ollama的版本
  • ollama --help:查看ollama的帮助

2.2 ollama支持的模型

通过查看ollama的官方网站ollama Library,可以看到ollama支持的模型,如llama3Phi3等。
400

llama3为例,可以通过ollama run llama3来运行llama3模型。

通用指令如下:

ollama run [model_name]:[model_tag]

例如,llama3模型分别有llama3:8bllama3:70b等版本,其中,8b 70b分别代表模型的参数量,运行70b模型的指令为:

ollama run llama3:70b

三· 使用open-webui进行交互

Open WebUI 是针对 LLM 用户友好的 WebUI, 支持的 LLM 运行程序包括 OllamaOpenAI 兼容的 API

3.1 Ubuntu安装open-webui

注:open-webui仅仅只是一个用于交互的WebUI,需要配合ollamaopenai等大语言模型服务一起使用。

注: 本文假设你已经在 11434 端口启动了 Ollama 服务,是否在本机不影响使用

镜像下载

官方没有在 docker hub 上发布镜像,而是发布在 ghcr.io,地址在 https://github.com/open-webui/open-webui/pkgs/container/open-webui

登录到Ubuntu系统,执行以下命令拉取镜像:

# 创建数据文件夹
mkdir -p /home/lujx/docker/ollama/data
# 切换到数据文件夹
cd /home/lujx/docker/ollama/data
# 拉取镜像
docker pull ghcr.io/open-webui/open-webui:git-df3675a-cuda

注:git-df3675a-cuda 是镜像的版本号,可以根据实际情况更改,可通过访问ghcr.io查看最新版本号,或者直接使用main

如果镜像下载速度较慢,可以试试 docker 代理网站:https://dockerproxy.com/,但是会多几个步骤

# 如果拉不动的话加个代理
docker pull ghcr.dockerproxy.com/open-webui/open-webui:main
# 重命名镜像(如果是通过代理下载的)
docker tag ghcr.dockerproxy.com/open-webui/open-webui:main ghcr.io/open-webui/open-webui:main
# 删除代理镜像(如果是通过代理下载的)
docker rmi ghcr.dockerproxy.com/open-webui/open-webui:main

启动容器:

docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway --gpus=all -v data:/root/.ollama -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:ollama

注: 如需添加其他参数,可在启动容器是配置环境变量,如OPENAI_API_BASE_URL OPENAI_API_KEYS等。使用 -e 参数添加,如 -e OPENAI_API_BASE_URL=http:xxxx.com -e OPENAI_API_KEYS=xxxxxxxxxxx

运行完成后,使用浏览器访问http://localhost:3000,即可进入open-webui的交互界面。或者使用http://ip:3000访问。
400

第一次访问时,需要创建一个用户,输入用户名和密码,然后点击Sign Up即可。

3.2 Open WebUI的配置与使用

3.2.1 管理员权限与账号配置

首次注册登录的账号默认为管理员账号,也是唯一的管理员账号,为防止账号密码丢失导致无法登录,或者新注册的用户需要管理员激活等,建议在登录后,创建第二个账号,然后将第二个账号设置为管理员账号。

设置方法: 点击右下角的用户头像,选择Admin Panel,然后点击右上角的+号,创建一个RoleAdmin的用户,键入用户名、邮箱和密码,点击Submit即可。
400

设置新建用户无需激活:点击右下角的用户头像,选择Admin Panel,然后点击右上角的Admin Settings,选择General,将Default User Rolepending改为user即可。自此,新创建的用户无需管理员激活即可登录。
400

3.2.2 配置ollama服务链接与模型下载

连接ollama服务

点击右下角的用户头像,选择Settings,选择Connections,键入Ollama Base URLhttp://host.docker.internal:11434,点击右侧按钮测试Ollama服务的连接,连接成功会有信息提示。

如果ollama服务是在其他机器上,可以将host.docker.internal改为ip地址。

下载模型

点击右下角的用户头像,选择Settings,选择Models,在Pull a model from Ollama.com文本框中键入需要下载的模型,如llama3:8b号,点击下载按钮,等待下载完成后即可。

模型下载的来源和名称查询同ollama

3.3 异常问题与解决

3.3.1 open-webui无法连接ollama服务

如果遇到open-webui无法连接ollama服务的情况,通常是因为WebUI的docker容器无法访问到127.0.0.1:11434(host.docker.internal:11434)服务的原因,可以通过在docker命令中加入--network=host来解决。请注意:端口号由3000变为8080,访问链接为:http://localhost:8080

示例命令如下:

docker run -d --network=host -v open-webui:/app/backend/data -e OLLAMA_BASE_URL=http://127.0.0.1:11434 --name open-webui --restart always ghcr.io/open-webui/open-webui:main

官方文档地址 : https://docs.openwebui.com/getting-started/troubleshooting

3.3.2 open-webui下载模型失败或中断

因网络问题下载中断可直接重试继续下载,ollama支持断点续传,不会重复下载已下载的部分。

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

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

相关文章

centos 8.5 yum 更换阿里云源

在CentOS 8上更换为阿里云源,步骤操作: 1 备份当前的yum源配置文件 cp -a /etc/yum.repos.d /etc/yum.repos.d.backup 2 清理原来 官方默认源 rm -rf /etc/yum.repos.d/*.repo 3 下载阿里云CentOS 8的yum源配置文件 curl -o /etc/yum.repos.d/CentOS-Base.rep…

桌面藏线大法

1有线改无线: 蓝牙鼠标 蓝牙键盘 蓝牙耳机 2将排插贴到桌子底下 购物软件上搜 3断舍离 不要的电子产品统统扔掉 4 洞洞板和挂钩 这个不用介绍了

由于找不到mfc140u.dll怎么办,介绍5种靠谱有效的解决方法

当您的电脑显示“mfc140u.dll丢失”的错误时,通常是因为系统中缺少了某个必要的动态链接库文件。这个问题可能会导致某些应用程序无法正常运行,给用户带来困扰。下面我将详细介绍解决该问题的五种方法。 一,关于mfc140u.dll文件的概述 mfc14…

如何在 ASP.NET Core 中实现中间件管道

概述:借助 ASP.NET Core,中间件流水线可以作为一种轻量级、灵活的机制,使开发人员能够在请求流水线的不同阶段插入功能。这些中间件组件可以执行各种任务,例如日志记录、身份验证、授权、异常处理等。它们提供了一种封装和组织代码的方法,促进了更简洁、更易于维护的应用程…

Java类和对象(五)—— 抽象类、接口、Object类和内部类

抽象类 在继承体系下,父类有些方法可能是要被重写的,如果我们事先就知道某些方法需要重写的话,我们可以不用在父类里面具体实现这个方法,这时候我们会用到抽象方法,这时候我们会用到关键字abstract关键字来修饰 publ…

618值得买的好物清单,这些数码好物你千万不能错过!

​随着618购物节的距离越来越近,你是不是已经开始疯狂浏览购物app,准备大肆采购一番了?但是在购物之前,还是得先做一做功课,避免陷入购物陷阱,而作为一名经验丰富的数码爱好者,想通过这次机会给…

Xinstall助力实现App间直接跳转,提升用户体验

在移动互联网时代,App已成为我们日常生活中不可或缺的一部分。然而,在使用各类App时,我们经常会遇到需要在不同App之间切换的情况,这时如果能够直接跳转,将会大大提升用户体验。而Xinstall正是这样一款能够帮助开发者实…

Python语法学习之 - 生成器表达式(Generator Expression)

第一次见这样的语法 本人之前一直是Java工程师,最近接触了一个Python项目,第一次看到如下的代码: i sum(letter in target_arr for letter in source_arr)这条语句是计算source 与 target 数组中有几个单词是相同的。 当我第一眼看到这样…

Docker镜像源自动测试镜像速度,并选择速度最快的镜像

国内执行如下代码 bash <(curl -sSL https://gitee.com/xjxjin/scripts/raw/main/check_docker_registry.sh)国外执行如下代码 bash <(curl -sSL https://github.com/xjxjin/scripts/raw/main/check_docker_registry.sh)如果有老铁有比较不错的镜像源&#xff0c;可以提…

浏览器API与协议

现代浏览器是一个囊括了数百个组件的操作系统&#xff0c;包括进程管理、安全沙箱、分层的优化缓存、JavaScript虚拟机、图形渲染和GPU管道、存储系统、传感器、音频和视频&#xff0c;网络机制等等。 在浏览器上运行的应用的性能。&#xff0c;取决于多个组件&#xff1a;解析…

完整的数据可视化方法集

在当前的大数据时代&#xff0c;了解如何可视化数据是UI/UX设计师技能的重要组成部分。如今&#xff0c;几乎所有的公司都需要良好的数据可视化作为确定业务方向和决策的参考。数据的可视化结果越好&#xff0c;用户的决策就越科学。 1、什么是数据可视化 数据可视化是将信息…

The Missing Semester of Your CS Education(计算机教育中缺失的一课)

Shell 工具和脚本(Shell Tools and Scripting) 一、shell脚本 1.1、变量赋值 在bash中为变量赋值的语法是foobar&#xff0c;访问变量中存储的数值&#xff0c;其语法为 $foo。 需要注意的是&#xff0c;foo bar &#xff08;使用空格隔开&#xff09;是不能正确工作的&…

Html中,想利用JS引入Jquery文件;$.getScript()无效

在使用$.getScript()时&#xff0c;会爆出错误&#xff1a;ReferenceError: $ is not defined &#xff0c;这是因为没有在JS文件前引入Jquery。 那么可以这样使用&#xff1a;(这个方式只适合放在页面代码最后面使用) (function () {var script window.document.createEleme…

我把PostgreSQL最核心的插件撸干净了!!!

作者&#xff1a;IT邦德 中国DBA联盟(ACDU)成员&#xff0c;10余年DBA工作经验&#xff0c; Oracle、PostgreSQL ACE CSDN博客专家及B站知名UP主&#xff0c;全网粉丝10万 擅长主流Oracle、MySQL、PG、高斯及Greenplum备份恢复&#xff0c; 安装迁移&#xff0c;性能优化、故障…

华为手机卡顿(仅针对于部分人来说,我也不清楚是否真的有用)

关机&#xff01; 之前一段时间手机变得特别卡顿&#xff0c;然后网上搜了一堆教程一点用没有&#xff0c;结果因为昨天下午在考试所以把手机关机了一个多小时&#xff0c;再打开之后手机就变得很流畅&#xff0c;原因不详&#xff0c;但效果显著&#xff0c;如有需要可尝试一…

ssl证书价格一年多少钱?怎么申请?

随着各大平台下架了一年期免费证书&#xff0c;免费证书的有效期都为90天。更多企业选择付费证书。费用是众多用户关心的话题&#xff0c;一年期SSL证书价格在几十到几千元不等。 一年期SSL证书价格查看https://www.joyssl.com/certificate/select/0-1000.html?nid16 下面是…

许冉直播不治本,京东需要刘强东

图片&#xff5c;影视剧《纸牌屋》剧照 ©自象限原创 作者丨艾AA 编辑丨薛黎 这届618&#xff0c;消费者的热情还未显现&#xff0c;商家的怒火先爆发了。 5月21日京东618开幕次日&#xff0c;多家图书社抵制618图书大促登上了热搜。此次争议与去年双十一京东采销与电…

登录接口测试

登录接口测试 数据驱动

TypeScript-泛型

泛型(Generics) 指在定义接口&#xff0c;函数等类型的时候&#xff0c;不预先指定具体的类型&#xff0c;而在使用的时候再指定类型的一种特性&#xff0c;使用泛型可以复用类型并且让类型更加灵活 泛型接口-interface 语法&#xff1a;在 interface 接口类型的名称后面使用…

中国上市公司融资约束指数数据上市公司SA指数与WW指数(2000-2023年)

上市公司融资约束指数&#xff0c;是用来评估公司面临的融资限制程度的工具。SA指数由Hadlock和Pierce开发&#xff0c;基于公司规模和年龄计算&#xff0c;其中较小且较年轻的公司通常会有更高的指数值&#xff0c;表明其融资约束较大。另一方面&#xff0c;WW指数由Whited和W…