TellWorldAI 世界档案
问档案English

首页›实践›实践

实践

Gemma 4 用 Ollama 加 Open WebUI 搭本地聊天

用 Ollama 跑 gemma4:e4b、用 Open WebUI 搭本地聊天界面:Linux 安装两种姿势、端口与镜像源两个常见坑,以及浏览器里的自动检测联调。

在本地把一个新模型跑起来并配上顺手聊天界面,最快的路径是两件套:Ollama 负责模型运行,Open WebUI 负责界面。这篇用这套组合部署 Gemma 4 E4B-it——对应 Ollama 库里的 gemma4:e4b 标签——全程在 Ubuntu 22.04、Python 3.12、PyTorch 2.5.1、CUDA 12.4 的参考环境下完成 [1]。

两个工具的分工

先理清职责边界。Ollama 是一个开源的大语言模型服务工具,目标是让用户快速在本地运行大模型,一条 run 命令就把下载、加载、交互全部包办 [1]。Open WebUI 则是可扩展、功能丰富、用户友好的自托管 WebUI,设计目标之一是完全离线运行,同时支持 Ollama 和 OpenAI 兼容 API 等多种运行器 [1]。两者组合的意义在于:模型层与服务层解耦,换模型不动界面,换界面不动模型。

顺带一提,如果只想验证模型本身,llama.cpp 也有对应的一行方案:llama-server -hf ggml-org/gemma-4-E4B-it-GGUF 直接拉起 GGUF 版本的服务 [1]。

为什么选本地方案?数据不出机器是首要理由:对话记录、上传的文档、模型的输出全部留在本机,对涉及隐私或合规的内容尤其重要。其次是成本结构——本地推理没有按 token 计费,重度使用时边际成本几乎为零,代价则是一次性的硬件投入和电费。E4B 这个规格正好卡在消费级硬件的舒适区,笔记本和单卡工作站都能流畅承载。

安装 Ollama

三个平台三种装法。macOS 和 Windows 都有官方安装包,下载双击即可 [1]。Linux 有两条路 [1]:

自动安装一条命令搞定:

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

手动安装则先下载压缩包再解压到 /usr [1]:

curl -L https://ollama.com/download/ollama-linux-amd64.tgz -o ollama-linux-amd64.tgz
sudo tar -C /usr -xzf ollama-linux-amd64.tgz

手动方式的价值在于可控:下载地址可以替换成镜像源,服务器在受限网络里装不了自动脚本时,换个链接就能继续 [1]:

curl -L https://git.886.be/https://github.com/ollama/ollama/releases/download/v0.6.0/ollama-linux-amd64.tgz -o ollama-linux-amd64.tgz
sudo tar -C /usr -xzf ollama-linux-amd64.tgz

Ollama 的标签机制值得展开说一下:模型名加标签构成版本寻址,gemma4:e4b 中的 e4b 标识 E4B 这个规格。标签体系让同一模型的不同量化版本、不同规格可以共存于本地仓库,回退版本和对比测试都只是换个标签重跑。权重落在本地磁盘的模型目录里,多台机器共享时直接拷贝目录比重新下载快得多。

拉起模型

服务启动和模型运行是两条命令 [1]:

ollama serve
ollama run gemma4:e4b

run 命令兼任下载:本地没有这个标签时先拉权重再进入交互。验证模型确实在跑,用 ps 子命令看运行状态 [1]:

ollama ps

安装与运行 Open WebUI

Open WebUI 走 pip 安装,版本锁在 0.5.20,换清华源加速 [1]:

# 升级 pip
python -m pip install --upgrade pip
# 更换 pypi 源加速库的安装
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

pip install open-webui==0.5.20

启动服务默认占 8080 端口;要换端口,比如常见的 6006,加 --port 参数 [1]:

open-webui serve
open-webui serve --port 6006

启动时如果撞上 Connection to huggingface.co timed out 这类报错,是初始化阶段要连 Hugging Face 导致的,把镜像源写进环境变量再重启服务即可 [1]:

export HF_ENDPOINT=https://hf-mirror.com

Open WebUI 的价值不止于一个对话框:多用户账户、会话历史、提示词库、文档上传后的检索增强这些功能在自托管形态下都能用。把它放在局域网里,团队几个人共用一台主机上的模型,账户之间会话互相隔离,是小型团队共享算力的常见做法。完全离线运行的设计目标则保证了整个链路不依赖任何外部服务——断网环境下照样可用。

浏览器联调

打开浏览器访问 http://localhost:6006 就能看到界面。联调的关键一步是模型发现:Ollama 服务在跑、gemma4:e4b 已加载的前提下,Open WebUI 会自动检测本地 Ollama 并选中该模型,不需要手动配置连接串和 API 地址 [1]。

这个自动检测机制值得多说两句:它假定 Ollama 在默认端口上监听,如果你的 Ollama 服务改过端口或部署在另一台机器上,就需要在 Open WebUI 的设置里手动指定连接地址。同机部署、默认端口,是这套组合摩擦最小的形态。界面就绪后直接对话,验证 Gemma 4 E4B-it 的可用性 [1]。

排查问题时按层看:模型层先跑 ollama ps 确认加载状态,权重没加载好界面再正常也无话可说;服务层检查端口占用,8080 或 6006 被占都换成空闲端口;界面层看启动日志里的连接信息,模型列表为空多半是 Ollama 服务没起或端口不一致。分层排查的顺序是先模型、再服务、最后界面——依赖链的下游出问题往往根源在上游。

部署清单

最后把整条链路收拢成一份清单:装 Ollama(自动脚本或手动解压二选一)、起 ollama serve、run gemma4:e4b 拉模型、ps 确认在跑、pip 装 Open WebUI 并锁版本、serve 起界面(必要时换端口和镜像源)、浏览器访问并确认模型被自动选中。七个步骤里没有一步需要写代码,全部是命令行操作,适合作为新机器上搭本地聊天环境的标准流程 [1]。

本文改编自 Datawhale 开源教程《self-llm》的 Gemma 4 Ollama 与 Open WebUI 部署一节[1],原文以 Apache-2.0 许可证发布。

来源

  1. 1

引用本页: Gemma 4 用 Ollama 加 Open WebUI 搭本地聊天. TellWorld, https://www.tellworld.net/zh/practice/practice-gemma4-ollama-openwebui. 更新于 2026-11-14

相关动态