谷歌 Gemma 安装教程

news2025/6/19 14:45:27

目录

一、概述

二、安装 Ollama

三、安装 Docker

四、安装 Open WebUI

五、测试

结束


一、概述

Gemma 是谷歌推出了全新的开源模型。Gemma 是免费的,模型权重也一并开源了,并且允许商用,支持安装在本地,即使了断网依然使用,另外和还可以适配不同配置的电脑,根据你的电脑的显卡,有不同的 AI 模型提供选择。

Gemma 官网:https://ai.google.dev/gemma/

Gemma 对显卡有一定的要求,显卡越好,执行的速度越快,Gemma  对英伟达(NVIDIA)做了专门的适配,在官网的主页就可以看到对应的介绍。

经过我的测试,目前 AI 还是有点问题的,具体问题我会写再后面,建议先看完当前帖子,再决定是否安装。

另外,你的电脑 C 盘最好有 50G 以上的空间,否则就不要尝试了,这几套软件下来,差不多用了 40G 空间。

二、安装 Ollama

ollama 是安装模型的一个工具。

下载地址:

Download Ollama on Windows

也可以在 GitHub 上进行下载:

Releases · ollama/ollama · GitHub

下载完成后,打开软件,点击 Install

默认是安装在 C 盘的,这个暂时还无法改变路径。

安装完成后,看到图标则是安装完成

在 github 上可以看到 ollama 的使用方式,这里需要根据你的显卡来执行对应的命令

ModelParametersSizeDownload
Llama 27B3.8GBollama run llama2
Mistral7B4.1GBollama run mistral
Dolphin Phi2.7B1.6GBollama run dolphin-phi
Phi-22.7B1.7GBollama run phi
Neural Chat7B4.1GBollama run neural-chat
Starling7B4.1GBollama run starling-lm
Code Llama7B3.8GBollama run codellama
Llama 2 Uncensored7B3.8GBollama run llama2-uncensored
Llama 2 13B13B7.3GBollama run llama2:13b
Llama 2 70B70B39GBollama run llama2:70b
Orca Mini3B1.9GBollama run orca-mini
Vicuna7B3.8GBollama run vicuna
LLaVA7B4.5GBollama run llava
Gemma2B1.4GBollama run gemma:2b
Gemma7B4.8GBollama run gemma:7b

下面是 AI 命令列表,一起 69 条,由于内容实在太长了,这里就截图了一部分,可以根据下面的链接进行查看。

链接:命令地址

由装在 C 盘,在安装之前,请先看看你的电脑 C 盘有没有足够的空间

比如,这个 9GB 的适合我的显卡,那么直接点击这里

安装或者运行的命令

翻译了一下:

Gemma 是 Google 及其 DeepMind 团队开发的新开放模型。它的灵感来自于谷歌的 Gemini 模型。

Gemma 有2b7b参数尺寸可供选择:

  • ollama run gemma:2b
  • ollama run gemma:7b(默认)

这些模型接受了各种网络文档数据集的训练,使其接触到各种语言风格、主题和词汇。这包括学习编程语言语法和模式的代码,以及掌握逻辑推理的数学文本。

为了确保模型的安全性,团队采用了多种数据清洗和过滤技术,包括对CSAM(儿童性虐待材料)的严格过滤、敏感数据过滤以及符合Google政策的基于内容质量的过滤。

打开 CMD,输入 ollama run gemma:7b 回车,就能看到系统已经正在下载了 

如果出现了 success 则为安装成功

安装完成后,可以看到,有 Send a mesage 字样,这时候,只需要输入问题即可,比如:

问题1:

问题2:

总体来看还可以,那么关闭当前控制台,下次要怎么使用呢?

重新打开控制台,只要输入命令 ollama run gemma:7b 回车就可以继续对话了

但是,Gemma 目前还是有点问题的,如下:

第一个问题还算正常,后续问其他问题,就开始不正常了,需要把控制台关了重新输入问题才正常,另一个这样一直在控制台中对话也不方便啊,能不能像 Chat GPT 一样,在网页中进行对话呢?当然可以了,下面就开始教你如何搭建 Open WebUI 的服务器环境。

三、安装 Docker

要使用 Open WebUI,先得安装 Docker,而 Docker 的安装,需要提前安装 Hyper-V

Docker 安装方法参考:

Windows安装Docker 容器教程-CSDN博客

第二个选择 适用于 Linux 的 Windows 子系统

点击确定后,重启电脑

接下来下载 Docker Desktop

链接:Docker Desktop: The #1 Containerization Tool for Developers | Docker

下载完成后开始安装

安装完成后,显示 installation succeeded 则为安装成功,点击 close and restart 会重启电脑

重启电脑后,开机会自动弹框,点击 Accept 即可

这里选择默认的选项

不想登录 点击 continue without signing in

这里选择 skip 跳过

打开  Docker Desktop 后可能会出现一直显示 starting the docker engine 

 找到 Docker Desktop 图标

点击 quit docker desktop ,这里可能会卡住,关闭无法关闭

在百度中搜索 “starting the docker engine 启动卡住” 可以看到这个问题可不是一个人出现,网上也有大量的教程。

可以试试下面的方法

在 PowerShell 中输入 wsl -- update

更新完成后,重启电脑,再次用管理员的方式打开  Docker Desktop

这次就正常启动了,如果有下面画面则为安装完成

右下角的图标也会有所变化

以管理员的身份打开  PowerShell

输入:docker -v

显示了对应的版本号则为成功

再次输入:docker run hello-world

这时 Docker Desktop 会多出一条命令,由于用于测试的也没什么用,直接删了就好。

四、安装 Open WebUI

Open WebUI 是一个可扩展、功能丰富且用户友好的自托管 WebUI,适用于各种 LLM 运行器,支持的 LLM 运行器包括 Ollama 和 OpenAI 兼容的 API。

github 地址:GitHub - open-webui/open-webui: User-friendly WebUI for LLMs (Formerly Ollama WebUI)

下面是我用软件翻译的,可以简单看下:

特点:
直观的界面:我们的聊天界面从 ChatGPT 中汲取灵感,确保用户友好的体验。
响应式设计:在桌面和移动设备上享受无缝体验。
快速响应:享受快速响应的性能。
轻松设置:使用 Docker 或 Kubernetes(kubectl、kustomize 或 helm)无缝安装,以获得无忧体验。
代码语法突出显示:通过我们的语法突出显示功能增强代码的可读性。
完整的 Markdown 和 LaTeX 支持:通过全面的 Markdown 和 LaTeX 功能来丰富交互,提升您的 LLM 体验。
本地 RAG 集成:通过突破性的检索增强生成 (RAG) 支持深入了解聊天交互的未来。此功能将文档交互无缝集成到您的聊天体验中。您可以将文档直接加载到聊天中或将文件添加到文档库中,使用#提示中的命令轻松访问它们。在 alpha 阶段,当我们积极完善和增强此功能以确保最佳性能和可靠性时,可能会偶尔出现问题。
网页浏览功能:使用#URL 后的命令将网站无缝集成到您的聊天体验中。此功能允许您将网络内容直接合并到您的对话中,从而增强交互的丰富性和深度。
提示预设支持:使用聊天输入中的命令立即访问预设提示。轻松加载预定义的对话开头并加快您的互动。通过Open WebUI Community集成轻松导入提示。
RLHF 注释:通过对消息进行“赞成”和“反对”评级来增强您的消息的能力,从而促进根据人类反馈 (RLHF) 创建强化学习数据集。利用您的消息来训练或微调模型,同时确保本地保存数据的机密性。
对话标记:轻松分类和定位特定聊天,以便快速参考和简化数据收集。
下载/删除模型:直接从 Web UI 轻松下载或删除模型。
GGUF 文件模型创建:通过直接从 Web UI 上传 GGUF 文件,轻松创建 Ollama 模型。简化的流程,可选择从您的计算机上传或从 Hugging Face 下载 GGUF 文件。
多模型支持:不同聊天模型之间无缝切换,实现多样化交互。
多模式支持:与支持多模式交互的模型无缝交互,包括图像(例如 LLava)。
模型文件生成器:通过 Web UI 轻松创建 Ollama 模型文件。通过开放 WebUI 社区集成轻松创建和添加角色/代理、自定义聊天元素以及导入模型文件。
多个模特对话:轻松地同时与多个模特互动,利用他们的独特优势来获得最佳响应。通过并行利用一组不同的模型来增强您的体验。
协作聊天:通过无缝编排群组对话来利用多个模型的集体智慧。使用@命令指定模型,在聊天界面中启用动态且多样化的对话。让自己沉浸在聊天环境中的集体智慧中。
OpenAI API 集成:轻松集成 OpenAI 兼容 API,与 Ollama 模型进行多功能对话。自定义 API 基本 URL 以链接到LMStudio、Mistral、OpenRouter 等。
再生历史记录访​​问:轻松重新访问和探索您的整个再生历史记录。
聊天历史记录:轻松访问和管理您的对话历史记录。
导入/导出聊天历史记录:将您的聊天数据无缝移入和移出平台。
语音输入支持:通过语音交互与您的模型互动;享受直接与模特交谈的便利。此外,探索在 3 秒静音后自动发送语音输入的选项,以获得简化的体验。
使用高级参数进行微调控制:通过调整温度等参数和定义系统提示来获得更深层次的控制,以根据您的特定偏好和需求定制对话。
外部 Ollama 服务器连接:通过配置环境变量无缝链接到托管在不同地址上的外部 Ollama 服务器。
基于角色的访问控制(RBAC):通过受限的权限确保安全访问;只有经过授权的个人才能访问您的 Ollama,并且为管理员保留专有的模型创建/拉取权限。
后端反向代理支持:通过 Open WebUI 后端和 Ollama 之间的直接通信增强安全性。这一关键功能消除了通过 LAN 公开 Ollama 的需要。从 Web UI 向“/ollama/api”路由发出的请求会从后端无缝重定向到 Ollama,从而增强整体系统安全性。
持续更新:我们致力于通过定期更新和新功能来改进 Open WebUI。

Open WebUI 安装方法:

使用 Docker 安装 Open WebUI 时,请确保 -v open-webui:/app/backend/data 在 Docker 命令中包含 。此步骤至关重要,因为它确保您的数据库正确安装并防止任何数据丢失。

  • 如果 Ollama 在您的计算机上,请使用以下命令:

    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

  • 如果 Ollama 位于不同的服务器上,请使用以下命令:

  • 要连接到另一台服务器上的 Ollama,请将 更改OLLAMA_BASE_URL为服务器的 URL:

    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

  • 安装完成后,您可以通过 http://localhost:3000 访问 Open WebUI 。享受!😄

打开WebUI:服务器连接错误

如果您遇到连接问题,通常是由于 WebUI docker 容器无法访问容器内位于 127.0.0.1:11434 (host.docker.internal:11434) 的 Ollama 服务器。使用--network=hostdocker 命令中的标志来解决此问题。请注意,端口从 3000 更改为 8080,导致链接:http://localhost:8080

Docker 命令示例

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

其他安装方法

我们提供各种安装替代方案,包括非 Docker 方法、Docker Compose、Kustomize 和 Helm。请访问我们的Open WebUI 文档或加入我们的Discord 社区以获得全面的指导。

打开 PowerShell,输入: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

按回车,就开始安装了,这里可能会安装失败,我失败了好多次,总是下载到一半就卡住,如果下载失败,可以关闭重试,或者用魔法的方式下载,这样可以提高成功的机率,这几个软件安装下来,我看了下 C 盘,原本有 50G,现在剩下不到 10 G了。

安装完成后,会正常的结束,也可能安装中途错误,但已经安装完成了,比如这样:

出现了这个打印,直接在浏览器访问 http://localhost:3000  ,如果打开主页,说明安装成功了。

五、测试

点击 Sign up 来注册一个账号

注册完成后,就可以进入主页了,进入主页后,先选择模型进行对话

我这还没问两句,就报错了,然后 Windows 系统弹了一个框说我这磁盘空间不够,我又重新试了一下,直接无法连接服务器,不知道是不是我这电脑配置的问题,还是环境搭建的有问题,我又刷新一下网页,连模型都找不到了,现在根本无法使用。

我在控制台中输入:ollama run gemma:7b  回车,再次刷新网页, AI 模型有可以显示了,但是聊天还是报错,我试了一下,在控制台中聊天,哦嚯,控制台的 ollama 现在都用不了,算了,懒的折腾了。

总结:虽然能实现本地的部署,我感觉还是太麻烦了,而且电脑还得装一堆的东西,bug 又多,根本就不好用。

结束

如果这个帖子对你有所帮助,欢迎 关注 + 点赞 + 留言

end

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

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

相关文章

PyQt5开发基础知识【一】

零.前言: 作者写这篇博客的目的主要在于巩固PyQt5的基础知识,例如PyQt5的几个核心模块,分别有什么功能,PyQt5的所有控件的使用方法等。 一.PyQt5的常见模块 1.1QtCore: 该模块包含了非GUI的功能设计。 这个模块被…

二 centos 7.9 磁盘挂载

上一步 一 windso10 笔记本刷linux cent os7.9系统-CSDN博客 笔记本有两个盘,系统装在128G的系统盘上,现在把另外一个盘挂载出来使用 lsblk 发现磁盘已经分好了,直接挂载就好了,参考文章:Centos7.9 挂载硬盘_centos7.9挂载硬盘-CSDN博客 永久挂载 lsblk -f分区格式化 mkfs…

图形库实战丨C语言扫雷小游戏(超2w字,附图片素材)

目录 效果展示 游玩链接(无需安装图形库及VS) 开发环境及准备 1.VS2022版本 2.图形库 游戏初始化 1.头文件 2.创建窗口 3.主函数框架 开始界面函数 1.初始化 1-1.设置背景颜色及字体 1-2.处理背景音乐及图片素材 1-3.处理背景图位置 2.选…

数据结构从入门到精通——队列

队列 前言一、队列1.1队列的概念及结构1.2队列的实现1.3队列的实现1.4扩展 二、队列面试题三、队列的具体实现代码Queue.hQueue.ctest.c队列的初始化队列的销毁入队列出队列返回队头元素返回队尾元素检测队列是否为空检测元素个数 前言 队列是一种特殊的线性数据结构&#xff…

141 Linux 系统编程18 ,线程,线程实现原理,ps –Lf 进程 查看

一 线程概念 什么是线程 LWP:light weight process 轻量级的进程,本质仍是进程(在Linux环境下) 进程:独立地址空间,拥有PCB 线程:有独立的PCB,但没有独立的地址空间(共享) 区别:在于是否共…

1、Ajax、get、post、ajax,随机颜色

一、Ajax初始 1、什么是Ajax? 异步的JavaScript和xml 2、xml是什么? 一种标记语言,传输和存储数据----------现在用JSON传输数据 3、Ajax的作用 局部加载 可以使网页异步更新 4、Ajax的原理或者步骤(6步) 创建Ajax对象 if (window.X…

【BUG】删除git本地仓库/远程仓库历史版本中的大文件以减少仓库大小

目录 前言排查过程解决过程通过如下命令查找历史大文件删除大文件,重构历史版本提交添加.ignore文件 总结 前言 某天像往常一样提交代码到gitee仓库,出现代码提交卡住不到的情况 2. 我百思不得姐,坚信bug会自己修复自己的原则等待了5分钟&am…

Python 一步一步教你用pyglet仿制鸿蒙系统里的时钟

目录 鸿蒙时钟 1. 绘制圆盘 2. 创建表类 3. 绘制刻度 4. 刻度数值 5. 添加指针 6. 转动指针 7. 联动时间 8. 时钟走动 鸿蒙时钟 本篇将用python pyglet库复刻华为手机鸿蒙系统闹钟程序的时钟,先在上图中抓取出时分秒针及刻度、表盘的颜色RGB值&#xff1a…

分布式解决方案

目录 1. 分布式ID1-1. 传统方案1-2. 分布式ID特点1-3. 实现方案1-4. 开源组件 1. 分布式ID 1-1. 传统方案 时间戳UUID 1-2. 分布式ID特点 全局唯一高并发高可用 1-3. 实现方案 方案总结: 号段模式 有两台服务器,给第一台服务器分配0-100&#xff0…

考虑局部遮阴的光伏PSO-MPPT控制MATLAB仿真

微❤关注“电气仔推送”获得资料(专享优惠) 简介 光伏电池阵列的输出特性曲线不是线性变化的。当光伏电池遮荫时,产生的功 率会不断变化,致使光伏电池阵列的输出功率不断变化,其输出特性曲线呈现多峰值的现象。 多峰…

外包干了30天,技术明显退步。。

🍅 视频学习:文末有免费的配套视频可观看 🍅 点击文末小卡片,免费获取软件测试全套资料,资料在手,涨薪更快 这次来聊一个大家可能也比较关心的问题,那就是就业城市选择的问题。而谈到这个问题&a…

简单BFF架构设计

又到周五了有了一个小时的闲暇时间简单写点东西,介绍一个简单的BFF的架构。BFF:Backends For Frontends,其实现在是个比较常见的前端架构设计的方案,其最大的优势便在于前端可以高度自由的在Node层做一些server端才可以做的东西,比如SSR、登录…

Day24:安全开发-PHP应用文件管理模块显示上传黑白名单类型过滤访问控制

目录 文件管理模块-上传-过滤机制 文件管理模块-显示-过滤机制 思维导图 PHP知识点 功能:新闻列表,会员中心,资源下载,留言版,后台模块,模版引用,框架开发等 技术:输入输出&#…

示波器探头的使用

无源探头(Tektronix P2220) 阻抗:1Mhz 衰减:10:1/1:1(与探头上的档位X10/X1相关,如果探头没有档位默认为10:1) 探头型号:电压 高压差分探头(Tektronix P5200A) 阻抗:1Mhz 衰减:50:1/500:1(…

深入理解python之self

首先明确的是self只有在类的方法中才会有,独立的函数或方法是不必带有self的。self在定义类的方法时是必须有的,虽然在调用时不必传入相应的参数。 self名称不是必须的,在python中self不是关键词,你可以定义成a或b或其它名字都可…

Qt 定时器事件

文章目录 1 定时器事件1.1 界面布局1.2 关联信号槽1.3 重写timerEvent1.4 实现槽函数 启动定时器 2 定时器类 项目完整的源代码 QT中使用定时器,有两种方式: 定时器类:QTimer定时器事件:QEvent::Timer,对应的子类是QTi…

Vue.js+SpringBoot开发大学计算机课程管理平台

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 实验课程档案模块2.2 实验资源模块2.3 学生实验模块 三、系统设计3.1 用例设计3.2 数据库设计3.2.1 实验课程档案表3.2.2 实验资源表3.2.3 学生实验表 四、系统展示五、核心代码5.1 一键生成实验5.2 提交实验5.3 批阅实…

Clock Verification IP

Clock Verification IP IP 参数及接口 IP 例化界面 相关函数 start_clock //产生时钟 <hierarchy_path>.IF.start_clockstop_clock //停止时钟 <hierarchy_path>.IF.stop_clockset_initial_value //设置时钟初始值为 0 <hierarchy_path>IF.set_initia…

Solidity攻击合约:“被偷走的资金”

在以太坊智能合约开发中&#xff0c;Solidity是最常用的编程语言。然而&#xff0c;由于代码编写不当或缺乏安全意识&#xff0c;合约可能面临各种攻击。本文将通过一个简单的Solidity合约示例&#xff0c;展示一个潜在的攻击合约&#xff0c;并分析其相对于原本合约的危害以及…

TS项目实战三:Express实现登录注册功能后端

使用express实现用户登录注册功能&#xff0c;使用ts进行代码开发&#xff0c;使用mysql作为数据库&#xff0c;实现用户登录、登录状态检测、验证码获取接口及用户注册相关接口功能的实现。 源码下载&#xff1a;[点击下载] (https://download.csdn.net/download/m0_37631110/…