在CentOS7虚拟机上使用Ollama本地部署Llama3大模型中文版+Open WebUI

一、创建虚拟机

1.1按照常规的CentOS教程来安装就行,我用的是以下版本:

VMware版本:VMware Workstation Full v12.1.0-3272444 中文正式版

镜像版本:CentOS-7-x86_64-DVD-2009

1.2虚拟机配置参数,如下: 

二、升级虚拟机必要组件功能

2.1运行以下命令可以更新系统中的所有安装的软件包至最新版本:
sudo yum update

注意:安装过程中会多次提示:“Is this ok [y/N]”: ,需要手动键入“y”,才能继续进程,后续安装过程同样会遇到这个提示,不会再赘述。

2.1更新系统软件包后,你可以使用以下命令来检查系统是否有需要的更新:
sudo yum check-update
2.2升级python3(建议按照自己的习惯升级)

这里举例我常用的升级命令:

sudo yum install epel-release
sudo yum install python3
sudo yum install python3-devel
sudo yum install python3-pip
python3 --version

三、安装Ollama

3.1安装Ollama的过程很费时间,几十分钟到大几个小时不等,安装命令如下:
curl -fsSL https://ollama.com/install.sh | sh

1000Mbps的光纤,蹲个坑回来下了这么点...屑。

四、部署Llama3-8B-Chinese-Chat-v2.1模型

4.1运行以下任意一条命令,可以最快速地部署对应版本的Llama3-8B-Chinese-Chat-v2.1模型:
ollama run wangshenzhi/llama3-8b-chinese-chat-ollama-q4

ollama run wangshenzhi/llama3-8b-chinese-chat-ollama-q8

ollama run wangshenzhi/llama3-8b-chinese-chat-ollama-fp16

模型的下载速度比较快,小十分钟就能下好。

模型的版本越高、文件越大、运算力越好、越吃性能,我装的是q8_0版本,这里有个q8_0模型在线版的url,安装过程中可以进去把玩一下(要翻墙):https://huggingface.co/spaces/llamafactory/Llama3-8B-Chinese-Chat

4.2部署完之后,就直接进入到对应大模型的命令行聊天界面了:

可以问它一些中英互译比较有歧义的问题,来测试它对中文的语言理解和生成能力,不深入演示了,CPU要被干烧了。

4.3通过ollama命令可以查看、运行、更新、复制、移除已部署的大模型。
4.3.1如:ollama list,可以查看虚拟机内已部署的大模型,可以看到我只安装了一款。
[llama3@Llama3 ~]$ ollama list
NAME                                               	ID          	SIZE  	MODIFIED       
wangshenzhi/llama3-8b-chinese-chat-ollama-q8:latest	6739fd08efd6	8.5 GB	21 minutes ago
4.4.2如:ollama run wangshenzhi/llama3-8b-chinese-chat-ollama-q8,运行指定大模型。
[llama3@Llama3 ~]$ ollama run wangshenzhi/llama3-8b-chinese-chat-ollama-q8
>>> Send a message (/? for help)

五、安装Open WebUI 

Open WebUI是一个可拓展、功能丰富且用户友好的自托管 WebUI,旨在完全离线运行。它支持各种 LLM 运行器,包括Ollama和OpenAI 兼容API。简单地说就是给大模型提供一个图形化界面,以及生成一个API,后续就可以通过特定的IP+端口号在浏览器登陆大模型了。

5.1先安装Docker,按照自己的习惯安装就行,以下是我常用的命令:
sudo yum install -y yum-utils
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
sudo yum install docker-ce
sudo systemctl start docker
sudo systemctl enable docker
docker --version
5.2使用默认配置进行安装(要下载很久,几个小时到十几个小时不等),命令如下:
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

挂一天一夜,基本上能下完。

安装完之后,可以用命令看进程,看到WebUI是运行在docker容器之上的。

[root@Llama3 ~]# docker ps
CONTAINER ID   IMAGE                                COMMAND           CREATED        STATUS                  PORTS                                       NAMES
9bbab31dcda6   ghcr.io/open-webui/open-webui:main   "bash start.sh"   15 hours ago   Up 15 hours (healthy)   0.0.0.0:3000->8080/tcp, :::3000->8080/tcp   open-webui
5.3安装后,就可以通过http://localhost:3000访问Open WebUI了(localhost就是虚拟机的ip),如果虚拟机改了ip的话,可用新ip无缝衔接登陆。

进去先注册账号,无需联网,相当于注册一个管理员账号。

语言可以设置成中文。

5.4刷新Ollama,测试一下到Ollama服务器的连通信。
5.4.1部署成功的话,应该提示:“已验证服务器连接性”。
5.4.2提示:“WebUI could not connect to Ollama”,证明从Open WebUI界面访问Ollama时遇到了困难,排查思路单独放在第六小节

5.2加载自己已安装的模型,或者在线下载想要的模型。

我已经安装过wangshenzhi/llama3-8b-chinese-chat-ollama-q8模型了,所以这里可以直接加载出来(忽略第四步,在这里直接在线拉取模型到本地,其实是可以的)。

5.3将常用的模型设为默认即可,用前面注册的账号可以离线登录,并保留每次的对话记录。

六、WebUI could not connect to Ollama排查思路

如果您在从 Open WebUI 界面访问 Ollama 时遇到困难,这可能是因为 Ollama 默认配置为侦听受限网络接口。要启用从 Open WebUI 的访问,您需要将 Ollama 配置为侦听更广泛的网络接口。

6.1通过调用来编辑systemd服务,打开一个编辑器:
systemctl edit ollama.service
6.2Environment对于每个环境变量,在部分下添加一行[Service]:

记得“ESC”、“:wq”,保存并退出。

[Service]
Environment="OLLAMA_HOST=0.0.0.0"
6.3重新加载systemd并重新启动Ollama: 
systemctl daemon-reload
systemctl restart ollama
6.4刷新一下Ollama API,显示以下画面就可以回去第五节看看了。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

彩虹小插画:成都亚恒丰创教育科技有限公司

彩虹小插画:色彩斑斓的梦幻世界 在繁忙的生活节奏中,总有一抹温柔的色彩能悄然触动心弦,那就是彩虹小插画带来的梦幻与宁静。彩虹,这一自然界的奇迹,被艺术家们巧妙地融入小巧精致的插画之中,不仅捕捉了瞬…

Camera Raw:直方图

Camera Raw 的直方图 Histogram面板不仅提供了照片亮度和色彩分布信息,还具备多项实用功能,辅助评估和调整照片。 ◆ ◆ ◆ 直方图的构成 直方图是一个二维坐标系统,横坐标表示不同程度的像素亮度,从左到右通常对应的是 0 ~ 255…

14-60 剑和诗人34 - Kubernetes 是部署 LLM 的首选平台

​​​​ 介绍 近年来,大型语言模型 (LLM) 一直在彻底改变自然语言处理领域。从 GPT-3 到 PaLM 等,这些模型可以生成类似人类的文本、回答问题、总结文档等等。然而,训练和部署 LLM 需要大量的计算。随着这些模型的规模和能力不断增长&#…

three完全开源扩展案例01-三角形渐变

演示地址 import * as THREE from three import { OrbitControls } from three/examples/jsm/controls/OrbitControls.jsconst box document.getElementById(box)const scene new THREE.Scene()const camera new THREE.PerspectiveCamera(75, box.clientWidth / box.client…

Golang | Leetcode Golang题解之第227题基本计算器II

题目&#xff1a; 题解&#xff1a; func calculate(s string) (ans int) {stack : []int{}preSign : num : 0for i, ch : range s {isDigit : 0 < ch && ch < 9if isDigit {num num*10 int(ch-0)}if !isDigit && ch ! || i len(s)-1 {switch preS…

免杀笔记 ---> Session0--DLL注入

刚更新完上一篇&#xff0c;于是我们就马不停蹄的去跟新下一篇&#xff01;&#xff01; Session0注入 &#xff1a;&#xff1a; 各位看官如果觉得还不错的可以给博主点个赞&#x1f495;&#x1f495; 这次&#xff0c;我把这个脚本直接传到Github上了 喜欢的师傅点个Star噢…

VScode代码对齐快捷键

解决复制过来代码对齐格式问题。 左对齐&#xff1a;Ctrl[ 右对齐&#xff1a;Ctrl]

科普文:jvm笔记

一、JVM概述# 1. JVM内部结构# 跨语言的平台&#xff0c;只要遵循编译出来的字节码的规范&#xff0c;都可以由JVM运行 虚拟机 系统虚拟机 VMvare 程序虚拟机 JVM JVM结构 HotSpot虚拟机 详细结构图 前端编译器是编译为字节码文件 执行引擎中的JIT Compiler编译器是把字节…

WPF Menu实现快捷键操作

很多小伙伴说&#xff0c;在Menu中&#xff0c;实现单个快捷键操作很简单&#xff0c;怎么实现多个快捷键操作和&#xff0c;组合快捷键呢&#xff0c;今天他来了。 上代码和效果图 一、Ctrl Shift 任意子母键实现快捷键组合 <Window x:Class"XH.TemplateLesson.M…

Collections集合工具类简介

Collections集合工具类 特点&#xff1a;构造私有&#xff0c;方法都是静态的&#xff0c;通过类名直接调用 static <T> boolean addAll(Collection<? super T> c, T... elements) 作用&#xff1a;批量添加元素 public class Test {public static void main(S…

如何将若依vue升级到springboot3.x?

为了确保项目符合要求,Spring Boot 3.x 要求Java版本为17或更高。 1、修改根目录下的pom.xml文件 <!-- java.version版本8更换为17 --> <java.version>17</java.version><!-- 新增节点 --> <mybatis-spring-boot.version>3.0.3<

线性代数|机器学习-P22逐步最小化一个函数

文章目录 1. 概述2. 泰勒公式3. 雅可比矩阵4. 经典牛顿法4.1 经典牛顿法理论4.2 牛顿迭代法解求方程根4.3 牛顿迭代法解求方程根 Python 5. 梯度下降和经典牛顿法5.1 线搜索方法5.2 经典牛顿法 6. 凸优化问题6.1 约束问题6.1 凸集组合 Mit麻省理工教授视频如下&#xff1a;逐步…

初识C++语言(1)

目录 C语言简介 C 语言概述 C 语言的特点 语言简洁紧凑&#xff0c;使用灵活方便 运算符丰富 数据结构丰富 结构化语言 生成的代码质量高 可移植性强 C程序结构 C语言系统的使用 一.启动Dev-C 二、新建源程序 三…

华为ensp实现防火墙的区域管理与用户认证

实验环境 基于该总公司内网&#xff0c;实现图片所在要求 后文配置请以本图为准 接口配置与网卡配置 1、创建vlan 2、防火墙g0/0/0与云页面登录 登录admin,密码Admin123&#xff0c;自行更改新密码 更改g0/0/0口ip&#xff0c;敲下命令service-manage all permit 网卡配置…

什么是平值、实值、虚值期权合约?有哪些区别?

今天带你了解什么是平值、实值、虚值期权合约&#xff1f;有哪些区别&#xff1f;期权按执行价格与标的物市价的关系可分为实值期权、平值期权和虚值期权。 平值期权、实值期权和虚值期权是描述期权合约相对于标的资产当前价格的位置的术语&#xff1a; 1.平值期权&#xff0…

11计算机视觉—语义分割与转置卷积

目录 1.语义分割应用语义分割和实例分割2.语义分割数据集:Pascal VOC2012 语义分割数据集预处理数据:我们使用图像增广中的随机裁剪,裁剪输入图像和标签的相同区域。3.转置卷积 上采样填充、步幅和多通道填充步幅多通道转置卷积是一种卷积:重新排列输入和核转置卷积是一种卷…

14-62 剑和诗人36 - 混合专家 (MoE) 扩展 AI 视野

了解混合专家 (MoE) 混合专家 (MoE) 是一种机器学习技术&#xff0c;它将多个“专家”神经网络模型组合成一个更大的模型。MoE 的目标是通过组合专业专家&#xff08;每个专家专注于不同的子领域&#xff09;来提高 AI 系统的准确性和能力。 MoE 模型的一些关键特征&#xff1…

Golang | Leetcode Golang题解之第225题用队列实现栈

题目&#xff1a; 题解&#xff1a; type MyStack struct {queue []int }/** Initialize your data structure here. */ func Constructor() (s MyStack) {return }/** Push element x onto stack. */ func (s *MyStack) Push(x int) {n : len(s.queue)s.queue append(s.queu…

Linux笔记之使用系统调用sendfile高速拷贝文件

Linux笔记之使用系统调用sendfile高速拷贝文件 code review! 文章目录 Linux笔记之使用系统调用sendfile高速拷贝文件sendfile 性能优势sendfile 系统调用优点&#xff1a;缺点&#xff1a; cp 命令优点&#xff1a;缺点&#xff1a; 实际测试&#xff1a;拷贝5.8个G的文件&a…

14-63 剑和诗人37 - 分布式系统中的数据访问设计

​​ 在分布式系统中,跨服务和数据库提供统一、可靠的数据访问至关重要,但又极具挑战性。微服务和数据库的拓扑结构为分布、缓存、复制和同步带来了复杂性。 让我们探索有助于解决这些复杂性并简化构建强大、高性能分布式系统的常见数据访问模式。 概述 我们将通过示例介绍…