Linux快速部署大语言模型LLaMa3,Web可视化j交互(Ollama+Open Web UI)

本文在个人博客同步发布,前往阅读

1 介绍

本文将介绍使用开源工具Ollama(60.6k⭐)部署LLaMa大模型,以及使用Open WebUI搭建前端Web交互界面的方法。

我们先来过一遍几个相关的概念,对这块比较熟悉的朋友可跳过。

1.1 大规模语言模型

大规模语言模型(Large Language Models, LLMs),顾名思义是指在大量语料数据的基础上训练成的模型,能够模拟人类的语言风格生成较为生动的文本。这类模型的主要特征有:

  • 规模大:训练所使用的数据量非常庞大,有时超过1000亿个参数。
  • 复杂性高:模型结构比较复杂
  • 具有较好的上下文理解能力:大规模语言模型可以理解文本的上下文和细微差别

1.2 LLaMa

LLaMA是一种大规模语言模型,由Meta AI基于Transformer深度学习框架开发。该模型旨在生成各种风格的高质量文本(例如创意写作、对话甚至诗歌),能够胜任以下工作:

  • 自然语言处理(NLP):理解和生成自然语言。
  • 机器学习:根据数据和算法学习新的信息和技能。
  • 对话生成:可以与用户进行对话,并根据情况生成合适的回应。

1.3 Ollama

官网:Ollama

API文档:ollama/docs/api.md at main · ollama/ollama (github.com)

支持的模型列表:library

一款可以快速部署大模型的工具。

1.4 Open WebUI

官网:Open WebUI

相关介绍及源码:open-webui/open-webui: User-friendly WebUI for LLMs (Formerly Ollama WebUI) (github.com)

Open WebUI 是一个可视化的Web交互环境,它拥有清新简约的UI风格,具有可扩展、功能丰富、用户友好、自托管的特点,可以完全离线运行。它支持各种 LLM 运行程序,包括 Ollama 和 OpenAI 兼容的 API。

2 部署LLM服务

本文介绍的方法使用于Linux系统,同样适用于Windows系统的WSL(安装方法可参见我的这篇文章)。

2.1 部署Ollama

1、下载Ollama

Linux系统的安装命令如下:

curl -fsSL https://ollama.com/install.sh | sh

※此外官方还提供了macOS和Windows的下载方式。

2、下载llama3模型

ollama run llama3

※在这里可以看到该命令的相关介绍。

上述命令将自动拉取模型,并进行sha256验签。处理完毕后自动进入llama3的运行环境,可以使用中文或英文进行提问,ctrl+D退出。

3、配置服务

为使外网环境能够访问到服务,需要对HOST进行配置。

打开配置文件:vim /etc/systemd/system/ollama.service,根据情况修改变量Environment

  • 服务器环境下:Environment="OLLAMA_HOST=0.0.0.0:11434"
  • 虚拟机环境下:Environment="OLLAMA_HOST=服务器内网IP地址:11434"

3、启动服务

启动服务的命令:ollama serve

首次启动可能会出现以下两个提示:

Couldn’t find ‘/home/用户名/.ollama/id_ed25519’. Generating new private key.

该提示表示文件系统中不存在ssh私钥文件,此时命令将自动帮我们生成该文件,并在命令行中打印相应的公钥。

Error: listen tcp 127.0.0.1:11434: bind: address already in use

看到该提示,大概率服务已在运行中,可以通过netstat -tulpn | grep 11434命令进行确认。

  • 若命令输出的最后一列包含“ollama”字样,则表示服务已启动,无需做额外处理。
  • 否则,可尝试执行下列命令重启ollama:
# ubuntu/debian
sudo apt update
sudo apt install lsof
stop ollama
lsof -i :11434
kill <PID>
ollama serve# centos
sudo yum update
sudo yum install lsof
stop ollama
lsof -i :11434
kill <PID>
ollama serve

如果您使用的是MacOS,可在🔗这里找到解决方法。

4、在外网环境验证连接

方法一:执行curl http://ip:11434命令,若返回“Ollama is running”,则表示连接正常。

方法二:在浏览器访问http://ip:11434,若页面显示文本“Ollama is running”,则表示连接正常。

2.2 Ollama常用命令

1、进入llama3运行环境:ollama run llama3

2、启动服务:ollama serve

3、重启ollama

systemctl daemon-reload
systemctl restart ollama

4、重启ollama服务

# ubuntu/debian
sudo apt update
sudo apt install lsof
stop ollama
lsof -i :11434
kill <PID>
ollama serve# centos
sudo yum update
sudo yum install lsof
stop ollama
lsof -i :11434
kill <PID>
ollama serve

5、确认服务端口状态:netstat -tulpn | grep 11434

3 部署Open WebUI

1、下载Open WebUI

Open WebUI基于docker部署,docker的安装方法可以参考这篇知乎文章。

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# 若部署在服务端,执行:
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

如果您的机器在国内,建议将--restart的参数值替换为ghcr.nju.edu.cn/open-webui/open-webui:main,下载速度会快非常多(见up主小杨生存日记的这篇文章)。

2、检查相关配置

下载完之后,就可以在浏览器访问了,地址为http://loacalhost:3000(客户端部署)或http://服务器ip:3000

页面加载完成后(这个过程可能需要一些时间),新注册一个账号并登录。

登录之后,点击页面顶端的齿轮⚙图标进入设置:

  1. 侧边导航栏-General,将语言设置为中文
  2. 侧边导航栏-连接,若“Ollama 基础 URL”这一项为http://host.docker.internal:11434,则表示ollama服务正常且连接成功;如果是空的,则需要回头检查一下ollama服务了
  3. 侧边导航栏-模型,一般会自动拉取ollama服务上部署好的模型,可选模型参看官方的这篇文档
  4. 其它的项目根据需要设置即可

3、选择模型

在顶端下拉框选择好模型,就可以开始提问啦!
在这里插入图片描述

参考文章

  • macOS + Ollama + Enchanted,本地部署最新 Llama3 - 掘金 (juejin.cn)
  • 服务器部署开源大模型完整教程 Ollama+Gemma+open-webui - 哔哩哔哩 (bilibili.com)
  • Ollama管理本地开源大模型,用Open WebUI访问Ollama接口 - 知乎 (zhihu.com)

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

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

相关文章

Eclipse内存分析器 Java内存分析工具MAT(Memory Analyzer Tool)的介绍与使用

1.visualvm实时监测 2.Memory Analyzer Tool打开 3.工具的使用可以参考 Java内存分析工具MAT(Memory Analyzer Tool)的介绍与使用 ------------------------ 1.我远程发现是其中一个客户端A请求服务器页面响应&#xff0c;一直得不到响应&#xff0c;然后客户端A一直请求&am…

Ansible 自动化运维

一、介绍 1、定义&#xff1a; ansible是自动化运维工具&#xff0c;基于Python开发&#xff0c;具有批量系统配置、批量程序部署、批量运行命令等功能。 ansible是基于 paramiko&#xff08;框架&#xff09; 开发的&#xff0c;并且基于模块化工作&#xff0c;本身没有批量…

报表控件Stimulsoft在JavaScript报告工具中的事件:查看器事件(上)

Stimulsoft Ultimate &#xff08;原Stimulsoft Reports.Ultimate&#xff09;是用于创建报表和仪表板的通用工具集。该产品包括用于WinForms、ASP.NET、.NET Core、JavaScript、WPF、PHP、Java和其他环境的完整工具集。无需比较产品功能&#xff0c;Stimulsoft Ultimate包含了…

[华为OD]给定一个 N*M 矩阵,请先找出 M 个该矩阵中每列元素的最大值 100

题目&#xff1a; 给定一个 N*M 矩阵&#xff0c;请先找出 M 个该矩阵中每列元素的最大值&#xff0c;然后输出这 M 个值中的 最小值 补充说明&#xff1a; N 和 M 的取值范围均为&#xff1a;[0, 100] 示例 1 输入&#xff1a; [[1,2],[3,4]] 输出&#xff1a; 3 说…

力扣-有效的数独

请你判断一个 9 x 9 的数独是否有效。只需要 根据以下规则 &#xff0c;验证已经填入的数字是否有效即可。 数字 1-9 在每一行只能出现一次。数字 1-9 在每一列只能出现一次。数字 1-9 在每一个以粗实线分隔的 3x3 宫内只能出现一次。&#xff08;请参考示例图&#xff09; 注…

(三十一)第 5 章 数组和广义表(稀疏矩阵的三元组行逻辑链接的顺序存储表示实现)

1. 背景说明 2. 示例代码 1)errorRecord.h // 记录错误宏定义头文件#ifndef ERROR_RECORD_H #define ERROR_RECORD_H#include <stdio.h> #include <string.h> #include <stdint.h>// 从文件路径中提取文件名 #define FILE_NAME(X) strrchr(X, \\) ? strrch…

AI 工具合集

以下工具来源于互联网&#xff0c;可能会失效&#xff0c;请参考使用 网红工具 名称链接说明GPT-4https://chat.openai.com/ 需要梯子&#xff0c;需要付费。功能最强大的聊天机 器人。 文心一言https://yiyan.baidu.com/welcome 国内版 GPT&#xff0c;需要申请账号。回答问…

最好用的电脑监控软件,电脑监控软件怎么监控员工

电脑监控软件是一种专为跟踪和记录计算机使用情况而设计的应用程序&#xff0c;主要用于提升企业内部的信息安全、提高工作效率及监管员工行为。这些软件通常通过以下几种方式实现监控功能&#xff1a; 实时屏幕监控&#xff1a; 软件能够实时显示被监控电脑的屏幕画面&#x…

数据分析:扩增子分析(qiime2平台全流程分析)

Amplicon sequencing analysis pipeline through qiime2 platform qiime2是扩增子数据分析的最佳平台之一&#xff0c;其提供了大量从原始data到统计分析的插件&#xff0c;尤其是它的可重复分析且可扩展插件的理念使得其成为扩增子分析首选的平台。 Platform qiime2是扩增子…

Airmail 5 for Mac:高效电子邮件管理软件

Airmail 5 for Mac作为一款功能强大的电子邮件客户端软件&#xff0c;为Mac用户带来了全新的邮件管理体验。其高效、直观的操作界面&#xff0c;使得用户可以轻松管理各类邮件&#xff0c;提升工作效率。 Airmail 5 for Mac v5.7.4中文激活版 首先&#xff0c;Airmail 5支持多个…

若依前后端部署系统--详细附图

一、后端部署 1、在ruoyi项目的Maven中的生命周期下双击package.bat打包Web工程&#xff0c;生成jar包文件。 提示打包成功 2、多模块版本会生成在ruoyi/ruoyi-admin模块下target文件夹,我们打开目录ruoyi-admin/taget&#xff0c;打开cmd&#xff0c;运行java -jar jar包名称…

Windows Server 评估版转换(升级)为完整版

临时方法 获取 Windows Server 的剩余宽限期 Slmgr /dliWindows Server免费试用期可以使用以下命令合法延长5次&#xff0c;共180天&#xff1a; slmgr /rearm这意味着所评估的 Windows Server 的最长可用时间为 3 年 ( 180 days * 6)。 试用期到期后&#xff0c;Windows S…

为什么有些3D模型导入总是渲染不出来?---模大狮模型网

在使用3D建模软件时&#xff0c;有时候会遇到一些导入模型后无法正确渲染的问题&#xff0c;这给用户带来了不便和困扰。本文将探讨一些可能导致3D模型无法渲染的原因&#xff0c;并提供解决方案&#xff0c;帮助您顺利渲染模型。 一、文件格式不兼容某些3D建模软件只支持特定的…

共赢闽企数字生态,2024纷享销客福建生态伙伴会圆满成功

4月26日&#xff0c;2024纷享销客福建生态伙伴会在厦门顺利举行&#xff0c;大会以“共赢闽企数字生态&#xff0c;共绘数智发展蓝图“为主题&#xff0c;特邀纷享销客创始人&CEO罗旭、建发旅游集团信息中心总经理高勇、金蝶&#xff08;厦门&#xff09;市场总监王鹭鸣、纷…

一加Ace3/12/Ace2pro手机ColorOS14刷KernelSU内核ROOT-解决无限重启变砖

一加Ace3/一加12/一加11等手机升级了安卓14底层&#xff0c;并且ColorOS版本也更新到了14版本界面和功能都比之前的系统表现更加优秀&#xff0c;但刷机方面&#xff0c;相对之前存在一些差异&#xff0c;特别是KernelSU内核级别root权限&#xff0c;不再支持一键刷入KernelSU通…

七、OSPF特殊区域及其特性

目录 OSPF区域分类 hello报文中option字段 1.末节区域&#xff08;Stub区域&#xff09; 2.完全末节区域&#xff08;Toally Stub区域&#xff09; 3.七类LSA 4.非完全末节区域&#xff08;NSSA区域&#xff09; 5.完全非完全末节区域&#xff08;Toally NSSA区域&#…

vue使用pdfjs-dist在电脑上展示PDF文件

安装 安装的时候一定要带上版本号,这里采用的是2.0.943(因为这个版本对于我目前的项目比较合适可以正常使用,其他版本大概率会报错),当前项目使用的是vue2,vue的版本是2.5.10 npm install pdfjs-dist@2.0.943 查看版本发现这玩意版本非常之多 使用 在使用pdfjs-dist库…

CSS Position定位(详解网页中的定位属性)

目录 一、Position介绍 1.概念 2.特点 3.作用 4.应用 二、Position用法 1.position属性 2.static定位 3.fixed定位 4.relative定位 5.absolute定位 6.sticky定位 7.重叠的元素 三、CSS定位属性 四、总结 一、Position介绍 1.概念 文档流&#xff08;Document Fl…

uniapp 微信小程序 分享海报的实现

主页面 <template><view class"page"><!-- 自定义导航栏--><Navbar title"我的海报"></Navbar><view class"container"><poster ref"poster" :imageUrl"image" :imageWidth"7…

NGINX发布动态页面的方法

一、建立 [rootserver100 html]# vim index.php [rootserver100 html]# pwd /usr/share/nginx/html 二、下载PHP文件 [rootserver100 conf.d]# dnf install php.x86_64 -y 正在更新 Subscription Management 软件仓库。 无法读取客户身份 本系统尚未在权利服务器中注册。可…