【运维】本地部署Gemma模型(图文)

工具简介

我们需要使用到两个工具,一个是Ollama,另一个是open-webui。

Ollama

Ollama 是一个开源的大语言平台,基于 Transformers 和 PyTorch 架构,基于问答交互方式,提供大语言模型常用的功能,如代码生成、文本生成、数据分析等。

Ollama 的优势:

  • 开源: 免费使用,无需付费。
  • 易用: 简易的操作,无需复杂的代码或配置。
  • 功能强大: 提供广泛的功能,以满足各种需求。
  • 性能良好: 使用 PyTorch 和 Transformers 架构,可以实现快速和高效的模型训练。

Ollama 的局限性:

  • 模型规模限制: 与其他大语言模型(Chat GPT3.5、Chat GPT4等)相比,模型规模可能相对较小。
  • 数据集限制: 不支持所有数据集,特别是在特定领域的数据。

总体来说,Ollama 是一个强大的开源大语言平台,提供广泛的功能和良好的性能,适合各种任务。

open-webui

简单来讲,可以理解为Ollama的web ui。

机器配置

借助于**Ollama,开源大模型也可以通过CPU来运行,GPU会更快,且支持三大主流平台。**使用显卡要求显存6GB以上,对磁盘要求磁盘至少4GB,此外还要预留出模型存放的空间,如这里Gemma 7B模型约5.2GB。

⚠️如果使用显卡运行,安装之前需要检查显卡驱动是否存在。

配置步骤

⚠️本教程基于Ubuntu 22.04系统。

安装Ollama

这里介绍两种方式安装,及直接安装和在docker上安装,建议docker安装。

直接在机器上安装

  1. 去Ollama网址下载并安装Ollama。

    根据自己需要下载对应的操作系统版本,这里使用的ubuntu,直接复制如下命令到ubuntu上执行即可。

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

  2. 安装过程及其结果截图

  3. 记住这里的访问链接

    127.0.0.1:11434
    

使用docker 安装

创建网络

docker network create ollama

由于要使用到显卡,所以这里直接用命令跑

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

如果出现了如下提示

docker: Error response from daemon: could not select device driver "" with capabilities: [[gpu]].

通过如下方式解决docker调用显卡问题,然后再使用上述命令启动ollama服务。

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 updatesudo apt-get install -y nvidia-container-toolkitsudo systemctl daemon-reload
sudo systemctl restart docker

安装open-webui

安装open-webui很简单,这里会使用到docker,docker的安装教程这里就不给了。使用命令安装。

docker run -d --network host -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui

也可以使用如下docker-compose文件来安装,⚠️这里ollama使用容器安装的。如果使用宿主机直接安装,建议直接用host模式。

version: '3.8'services:open-webui:image: ghcr.io/open-webui/open-webuicontainer_name: open-webuiports:- "3000:8080"volumes:- /data/open-webui:/app/backend/datarestart: alwaysnetworks:- ollamanetworks:ollama:external: true

配置模型

访问 服务器地址:3000 (如果使用host模式,请访问8080端口),进入登陆界面。

open-webui 首次登陆,需要自行注册管理员账号

登陆后,我们就可以下载模型了,先去ollama确定需要下载的模型编码,这里以gemma模型为例。

复制模型名称及其版本

点击如下按钮(忽略这里已经下载好的模型),进入设置界面

填入ollama后台然后点击下载,等待模型下载完毕(这里最好有科学环境,不然会很慢)

⚠️:ubuntu环境下直接安装情况下,默认模型路径为 /usr/share/ollama/.ollama

下载完成后,即可选择相应的模型进行对话。

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

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

相关文章

Redis缓存三大问题-穿透、击穿、雪崩

缓存穿透 缓存中明明没有对应数据&#xff0c;但是有大量的请求这些不存在的数据&#xff0c;导致大量请求直接打在DB上 缓存空对象 设置空key 缺点&#xff1a;大量浪费Redis的内存空间&#xff0c;建议还是要给空key设置一个过期时间 利用singleflight 往 redis 写空null…

js 【详解】异步

为什么需要使用异步&#xff1f; 减少等待时间&#xff1a;异步编程允许程序在等待某些操作&#xff08;如网络请求或文件读取&#xff09;完成时继续执行其他任务&#xff0c;而不是空等&#xff0c;这样可以显著减少等待时间。提高响应速度&#xff1a;由于JavaScript是单线程…

【Web】浅聊Java反序列化之C3P0——URLClassLoader利用

目录 前言 C3P0介绍 回归本源——序列化的条件 利用链 利用链分析 入口——PoolBackedDataSourceBase#readObject 拨云见日——PoolBackedDataSourceBase#writeObject 综合分析 EXP 前言 这条链最让我眼前一亮的就是对Serializable接口的有无进行了一个玩&#xff0c…

Mybatis-plus连接多数据源操作(SQLServer、MySQL数据库)

Mybatis-plus连接多数据源操作&#xff08;SQLServer、MySQL数据库&#xff09; 一、依赖二、yml配置文件三、业务类四、测试 一、依赖 <!--mybatis多数据源--><dependency><groupId>com.baomidou</groupId><artifactId>dynamic-datasource-spri…

采用 Amazon DocumentDB 和 Amazon Bedrock 上的 Claude 3 构建游戏行业产品推荐

前言 大语言模型&#xff08;LLM&#xff09;自面世以来即展示了其创新能力&#xff0c;但 LLM 面临着幻觉等挑战。如何通过整合外部数据库的知识&#xff0c;检索增强生成&#xff08;RAG&#xff09;已成为通用和可行的解决方案。这提高了模型的准确性和可信度&#xff0c;特…

C++ 求圆面积

编写一个带默认参数的函数area&#xff0c;第一个参数为半径&#xff0c;第二个参数为圆周率&#xff0c;默认值为3.14 .参数类型及返回类型都为double. 裁判测试程序样例&#xff1a; #include <iostream> using namespace std; /* 请在这里填写答案 */ int main() …

Autosar教程-Mcal教程-GPT配置教程

3.3GPT配置、生成 3.3.1 GPT配置所需要的元素 GPT实际上就是硬件定时器,需要配置的元素有: 1)定时器时钟:定时器要工作需要使能它的时钟源 2)定时器分步:时钟源进到定时器后可以通过分频后再给到定时器 定时器模块选择:MCU有多个定时器模块,需要决定使用哪个定时器模块作…

21-Java观察者模式 ( Observer Pattern )

Java备忘录模式 摘要实现范例 观察者模式 ( Observer Pattern ) 常用于对象间存在一对多关系时&#xff0c;比如&#xff0c;当一个对象被修改时&#xff0c;需要自动通知它的依赖对象 观察者模式属于行为型模式 摘要 1. 意图 定义对象间的一种一对多的依赖关系&#xff…

css选择器nth-child(n)的学习理解

css3 新增的:nth-child(n)选择器您真的理解吗&#xff1f; :nth-child(n)&#xff1a;用来选择某个父元素的一个或多个特定的子元素。其中 n 是一个参数&#xff0c;代表了你想要选择的子元素的序号。这里的 n 可以是以下几种形式&#xff1a; /*1:具体的数字&#xff1a;*/ …

给 spyter/all-spark-notebook 添加scala支持

spyter/all-spark-notebook默认没有安装scala notebook&#xff0c;需要手动添加。 你可以创建一个新的 Dockerfile&#xff0c;在其中添加你需要的配置和组件。以下是一个简单的例子&#xff1a; FROM jupyter/all-spark-notebook:x86_64-ubuntu-22.04 #冒号后可以是latest&a…

【漏洞复现】锐捷网络NBR700G 信息泄露

0x01 产品简介 锐捷网络NBR700G路由器是锐捷网络股份有限公司的一款无线路由设备。 0x02 漏洞概述 锐捷网络NBR700G路由器存在信息漏洞。未授权的攻击者可以通过该漏洞获取敏感信息。 0x03 测绘语句 fofa&#xff1a;body"系统负荷过高&#xff0c;导致网络拥塞&…

Mint_21.3 drawing-area和goocanvas的FB笔记(六)

FreeBASIC gfx 基本 graphics 绘图 一、旧故事 DOS时代PC技术将各类硬插卡限制在 640K到1MB的空间范围内&#xff0c;BIOS负责在相关位置写读测试卡的存在&#xff0c;那时期的Color Video在0xB800&#xff0c;Monochrome Video在0xB000&#xff0c;这是显卡的内存地址&#…

Java中介者模式剖析及使用场景

中介者模式 一、介绍二、智能家居系统项目实现三、总结1.优点2.缺点3.使用经验4.Spring框架类似使用思想 一、介绍 介者模式是一种行为型设计模式&#xff0c;它允许对象之间通过一个中介者对象进行通信&#xff0c;而不是直接相互引用。将多对多的关系转化为一对多的关系&…

iOS17.4获取UDID安装mobileconfig描述文件失败 提示“安全延迟进行中”问题 | 失窃设备保护

iOS17.4这两天已经正式发布&#xff0c; 在iOS 17.4版本中新增了一个名为"失窃设备保护"的功能&#xff0c;并提供了一个"需要安全延迟"的选项。 iOS17.4获取UDID安装mobileconfig描述文件失败 提示“安全延迟进行中”问题 | 失窃设备保护 当用户选择启用…

美洲狮优化算法(Puma Optimizar Algorithm ,POA)求解机器人栅格地图最短路径规划(提供MATLAB代码)

一、美洲狮优化算法 美洲狮优化算法&#xff08;Puma Optimizar Algorithm &#xff0c;POA&#xff09;由Benyamin Abdollahzadeh等人于2024年提出&#xff0c;其灵感来自美洲狮的智慧和生活。在该算法中&#xff0c;在探索和开发的每个阶段都提出了独特而强大的机制&#xf…

MySQL在报表统计中的综合实践:SQL语句与函数应用

引言 在数据分析与报表制作领域&#xff0c;MySQL因其出色的性能和丰富的统计功能&#xff0c;成为了众多企业构建报表系统的首选数据库引擎。本篇文章将深度剖析如何利用MySQL的SQL语句和统计函数完成日常报表统计任务&#xff0c;包括但不限于按天、周、月、季度和年的数据汇…

【LeetCode: 212. 单词搜索 II - dfs】

&#x1f680; 算法题 &#x1f680; &#x1f332; 算法刷题专栏 | 面试必备算法 | 面试高频算法 &#x1f340; &#x1f332; 越难的东西,越要努力坚持&#xff0c;因为它具有很高的价值&#xff0c;算法就是这样✨ &#x1f332; 作者简介&#xff1a;硕风和炜&#xff0c;…

华为OD机试C卷“跳步-数组”Java解答

描述 示例 算法思路1 不断移动数组将元素删去&#xff08;并未彻底删除&#xff0c;而是将数字元素前移实现“伪删除”&#xff09;这样删除元素的位置就呈现一定规律&#xff0c;详细见下图&#xff08;潦草的画&#xff09; 答案1 import java.util.*;public class Main {…

Neovim基本介绍

目录 Neovim出现的原因优化点安装1.源代码安装2.管理包安装3.下载安装包安装 配置运行健康检查Oni Neovim出现的原因 neovim代码库不需要向后兼容,方便开发维护解决vim插件编写困难,特别是异步操作解决vim插件编写困难,不再要求插件开发者需要熟悉vimscript默认配置适应现代开…

【MySql学习之路】window环境下MySql安装和安装过程中出现的问题

environment:windows software:mysql 本文主要分享mysql关系型数据库在干净的环境下,第一次安装以及在安装过程中出现的常见问题和解决方法。目前官网给出的安装包有两种格式,一个是msi格式,一个是zip格式的。很多人下了zip格式的解压发现没有setup.exe,面对一堆文件无从…