【运维】本地部署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,一经查实,立即删除!

相关文章

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;特…

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…

给 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;这是显卡的内存地址&#…

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…

【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 {…

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

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

最全NVIDIA Jetson开发板参数配置和购买指南

NVIDIA开发的GPU不仅在电脑显卡领域占据大量份额&#xff0c;在嵌入式NVIDIA的Jeston系列开发板也近乎是领先的存在&#xff0c;特别是NVIDIA Jeston系列开发板在算力和成本的平衡上都要优于其他厂家&#xff0c;性价比很高&#xff0c;设备体积小。本博文旨在给采购NVIDIA Jes…

【LeetCode每日一题】299. 猜数字游戏

文章目录 [299. 猜数字游戏](https://leetcode.cn/problems/bulls-and-cows/)思路&#xff1a;代码&#xff1a; 299. 猜数字游戏 思路&#xff1a; 遍历两个字符串 secret 和 guess&#xff0c;若字符既在相同位置上又相等&#xff0c;则位置和数字都正确&#xff0c;对应的 …

宝塔一键迁移报错创建失败问题完美解决

很多站长朋友在使用宝塔面板迁移的时候总是出错&#xff0c;如图&#xff1a; 遇到这样的问题不要慌&#xff0c;我们已经完美处理&#xff0c;详细解决教程&#xff1a;宝塔一键迁移报错问题完美解决教程

微信小程序跳转到其他小程序

有两种方式&#xff0c;如下&#xff1a; 一、appid跳转 wx.navigateToMiniProgram({appId: 目标小程序appid,path: 目标小程序页面路径,//不配的话默认是首页//develop开发版&#xff1b;trial体验版&#xff1b;release正式版envVersion: release, success(res) {// 打开成功…

JDBC的学习记录

JDBC就是使用java语言操作关系型数据库的一套API。 JDBC&#xff08;Java Database Connectivity&#xff09;是Java语言中用于连接和操作数据库的一种标准接口。它提供了一组方法和类&#xff0c;使Java程序能够与各种不同类型的关系型数据库进行交互。 JDBC的主要功能包括建…

Angular基础---HelloWorld---Day3

文章目录 0.ng-model 的几种不同的class属性1.ng-model 的引用与属性的调用2.表单验证&#xff1a; (模版引用变量、ngModel 、ngif一起使用&#xff09;3.根据class属性的值ng-invalid &#xff0c;设置动态变化的样式 0.ng-model 的几种不同的class属性 引用ng-model 元素的c…