Ollama 本地部署 Gemma 4 完全指南

Google DeepMind 于近期正式发布了 Gemma 4 系列开源模型,这是迄今为止他们推出的能力最强的开放权重模型家族。与此同时,Ollama 在 v0.20.0 版本中第一时间提供了对 Gemma 4 全系列的支持。本文将从零开始,带你完成 Ollama 的安装配置、Gemma 4 各版本的选型决策,以及在本地完整运行模型的全流程。
一、Ollama 是什么
Ollama[1] 是一个开源的本地大语言模型运行框架,让你能够在自己的机器上以极低的门槛运行各种开源 LLM。它的底层基于 llama.cpp[2],将模型下载、量化、推理、API 服务等一系列复杂操作封装成简单的命令行工具。
核心优势:
-
• 一条命令即可运行:
ollama run llama3就能下载并启动一个 8B 模型 -
• 自动量化与格式转换:模型以 GGUF 格式存储,自动适配你的硬件
-
• 内置 REST API:自动在本地
11434端口提供 OpenAI 兼容的 API 接口 -
• 跨平台支持:Windows、macOS、Linux 全平台原生支持
-
• Apple Silicon 深度优化:v0.20 起基于 Apple MLX 框架,充分利用统一内存架构
-
• NVIDIA GPU 加速:支持 CUDA,并支持最新的 NVFP4 量化格式
隐私保障:所有推理运算在本地完成,数据不经过任何外部服务器。这是很多企业和个人开发者选择 Ollama 的重要原因之一。
二、Ollama 基本使用方法
安装
macOS / Linux:
curl -fsSL https://ollama.com/install.sh | shWindows:
前往 ollama.com[3] 下载安装包,运行 .exe 安装程序,按提示完成安装。
安装完成后验证:
ollama --version核心命令速查
# 下载并立即运行模型(如未下载则自动拉取)
ollama run <模型名>
# 仅下载模型,不启动对话
ollama pull <模型名>
# 查看本地已安装的模型
ollama list
# 删除本地模型
ollama rm <模型名>
# 查看模型详情(架构、参数量、量化方式等)
ollama show <模型名>
# 查看当前正在运行的模型
ollama ps
# 启动 Ollama 服务(安装后通常自动启动)
ollama serve对话模式
运行 ollama run <模型> 后,进入交互式对话:
>>> 你好,请介绍一下自己
你好!我是 Gemma 4,由 Google DeepMind 开发的开源多模态语言模型...
>>> /bye # 退出对话
>>> /help # 查看可用命令
>>> /clear # 清除对话历史单次查询模式
# 直接在命令后跟问题,执行完退出
ollama run gemma4 "用 Python 写一个快速排序算法"
# 带图片输入(视觉理解)
ollama run gemma4 "描述这张图片的内容 /path/to/image.png"三、Gemma 4 是什么
Gemma 4 是 Google DeepMind 于 2025 年 4 月发布的第四代 Gemma 开源模型家族,基于与 Gemini 3 相同的研究成果构建,是目前 Google 发布的能力最强的开放权重模型系列。
关键特性
多模态能力 全系列模型均支持图像与文本混合输入,E2B 和 E4B 小型版本额外支持音频输入(语音识别与理解)。
双架构设计 同时提供 Dense(密集) 和 MoE(混合专家) 两种架构,覆盖从边缘设备到服务器的各种部署场景。
超长上下文窗口
-
• 小型模型(E2B、E4B):128K tokens
-
• 大型模型(26B、31B):256K tokens
可以在单次请求中处理整个代码库或超长文档。
推理(Thinking)模式
所有模型内置可配置的推理模式,通过在系统提示开头加入 <|think|> 标记来启用逐步推理,适合复杂逻辑任务。
原生函数调用 原生支持 Function Calling 和结构化 JSON 输出,是构建 AI Agent 的重要基础。
多语言支持 训练数据覆盖 140 余种语言,训练数据截止时间为 2025 年 1 月。
开源许可 采用 Apache 2.0 许可证,可商业使用,无限制。自 Gemma 系列首发至今,累计下载量已超过 4 亿次。
四、Gemma 4 各版本详解
Gemma 4 提供四个尺寸,每个尺寸均有预训练(base)和指令微调(instruction-tuned,后缀为 -it)两个变体。Ollama 默认提供的是指令微调版本。
Gemma 4 E2B(Effective 2B)
有效参数量 ~2B("E" 代表 Effective,有效参数)
架构 Dense + Per-Layer Embeddings(PLE)
上下文窗口 128K tokens
多模态 图像 + 文本 + 音频
Ollama 下载大小 ~7.2 GB
最低显存需求 4 GB VRAM(或 8 GB 内存 CPU 推理)
Ollama 命令 ollama run gemma4:e2b
E2B 采用了 Per-Layer Embeddings(PLE) 架构创新——相比传统 Transformer 每层共享同一输入嵌入,PLE 为每一层提供独立的条件化信号,让模型在参数量极小的情况下实现更强的表达能力。这也是"Effective"名字的由来:实际能力远超参数量字面数字所暗示的水平。
适用场景:
-
• 低配设备、树莓派、旧笔记本
-
• 对延迟极度敏感的应用
-
• 快速问答、文本分类、简单摘要
-
• 移动端或边缘计算部署
Gemma 4 E4B(Effective 4B)⭐ 推荐入门首选
有效参数量 ~4.5B
架构 Dense + PLE
上下文窗口 128K tokens
多模态 图像 + 文本 + 音频
Ollama 下载大小 ~9.6 GB(默认 Q4_K_M 量化)
最低显存需求 6 GB VRAM
Ollama 命令 ollama run gemma4:e4b(即 ollama run gemma4)
E4B 是 Gemma 4 家族中 性价比最高 的版本,也是 Ollama 的默认 tag(gemma4 不加后缀即为 E4B)。在基准测试中,E4B 的性能超越了 Gemma 3 的 27B 模型,而活跃参数量仅为后者的约六分之一。
适用场景:
-
• 日常 AI 助手(问答、写作、翻译)
-
• 轻量代码生成与辅助
-
• 图文理解任务(OCR、图表分析)
-
• 语音输入处理
-
• 配备 6~8 GB 显存的消费级 GPU(RTX 3060/4060 等)
Gemma 4 26B A4B(Mixture of Experts)
总参数量 26B(每次推理激活 ~3.8B,约 128 个专家网络)
架构 MoE(混合专家)
上下文窗口 256K tokens
多模态 图像 + 文本
Ollama 下载大小 ~18 GB
最低显存需求 16 GB VRAM(Q4 量化)
Ollama 命令 ollama run gemma4:26b
MoE 架构的精妙之处在于:虽然模型总参数为 26B,但每次推理只激活约 3.8B 的参数(128 个专家中只有少数被激活),因此推理速度接近 4B 模型,而知识储备接近 26B 模型。在同等硬件上,26B MoE 的生成速度约是 31B Dense 的 2~3 倍。
在 Arena AI 开放模型榜单中,26B 版本位列全球第六,展现出远超其实际计算开销的能力。
适用场景:
-
• 中等配置的 GPU 服务器(RTX 3090/4090、16 GB 显卡)
-
• Agent 工作流(函数调用、工具使用)
-
• 长文档分析(最大 256K 上下文)
-
• 代码生成与代码库理解
-
• 对速度有要求的生产环境
Gemma 4 31B(Dense)
参数量 30.7B
架构 Dense(全量密集)
上下文窗口 256K tokens
多模态 图像 + 文本
Ollama 下载大小 ~20 GB
最低显存需求 24 GB VRAM(Q4 量化)/ 48 GB+(Q8)
Ollama 命令 ollama run gemma4:31b
31B Dense 是家族中能力最强的本地部署版本,在 Arena AI 开放模型榜单中位列全球第三(截至 2025 年 4 月)。所有参数在每次推理中均参与计算,推理质量最高但速度相对较慢。
对于大多数消费者来说,需要配备 RTX 4090(24 GB)或同等显卡才能以 Q4 量化流畅运行。Apple Silicon 用户需要 M 系列芯片 + 32 GB 以上统一内存。
适用场景:
-
• 高端工作站、专业研究环境
-
• 对推理质量要求极高的任务(复杂数学、深度推理)
-
• 不惜牺牲速度换取最佳输出质量
-
• 24 GB 以上显卡或 Apple Silicon 大内存机型
版本对比总览
E2B 7.2 GB 4 GB 128K ✅ ⚡⚡⚡⚡ ⭐⭐ 8 GB 内存笔记本
E4B 9.6 GB 6 GB 128K ✅ ⚡⚡⚡ ⭐⭐⭐⭐ RTX 3060/4060
26B MoE 18 GB 16 GB 256K ❌ ⚡⚡⚡ ⭐⭐⭐⭐⭐ RTX 3090/4090
31B Dense 20 GB 24 GB 256K ❌ ⚡⚡ ⭐⭐⭐⭐⭐ RTX 4090 / M 系列 32 GB+
五、如何选择适合的版本
决策流程图
你的 GPU 显存是多少?
│
├── < 6 GB → 选 gemma4:e2b(纯 CPU 也能跑)
│
├── 6~8 GB → 选 gemma4:e4b(默认推荐,性价比最高)
│
├── 12~16 GB → 选 gemma4:e4b 或 gemma4:26b(取决于任务复杂度)
│
├── 16~24 GB → 选 gemma4:26b(MoE 速度快、质量强)
│
└── 24 GB 以上 → 选 gemma4:31b(最强质量)或 gemma4:26b(更快)按使用场景选型
日常问答、文字处理 E4B 速度快,质量足够
代码补全与生成 E4B / 26B 26B 对复杂项目更准确
长文档理解(> 100K tokens) 26B / 31B 需要 256K 上下文
语音处理、音频输入 E2B / E4B 仅小型版支持音频
图像分析与 OCR E4B / 26B 均支持图像,按硬件选
AI Agent、工具调用 26B MoE 速度快且原生支持函数调用
复杂推理、数学证明 31B 开启 Thinking 模式效果最佳
边缘设备、树莓派 E2B 资源占用最低
多并发生产服务 26B MoE 吞吐量最高
Apple Silicon 用户特别说明
Apple Silicon 的统一内存架构(GPU 和 CPU 共享同一内存池)让 Mac 在运行大模型时有独特优势:
-
• 16 GB 统一内存:稳定运行 E4B,可尝试 26B(较慢)
-
• 24 GB 统一内存:流畅运行 26B,但内存压力较大,不建议同时跑其他重型软件
-
• 32 GB 统一内存:舒适运行 26B,可尝试 31B(Q4 量化)
-
• 48 GB+ 统一内存:流畅运行 31B,可使用更高量化精度
Ollama v0.20 起在 Apple Silicon 上基于 MLX 框架,无需额外配置即可获得加速。
六、通过 Ollama 部署 Gemma 4
第一步:安装 Ollama
macOS / Linux:
curl -fsSL https://ollama.com/install.sh | shWindows:
从 ollama.com/download[3] 下载 .exe 安装包,运行后 Ollama 会自动作为后台服务运行。
验证安装:
ollama --version
# 应输出:ollama version 0.20.0 或更高第二步:拉取 Gemma 4 模型
根据你的硬件情况选择版本:
# 默认版本(E4B,推荐大多数用户)
ollama pull gemma4
# 或指定具体版本
ollama pull gemma4:e2b # 轻量版,7.2 GB
ollama pull gemma4:e4b # 标准版,9.6 GB(与默认相同)
ollama pull gemma4:26b # 进阶版,18 GB,需 16 GB 显存
ollama pull gemma4:31b # 旗舰版,20 GB,需 24 GB 显存下载过程中会显示进度条,模型存储于:
-
• Linux/macOS:
~/.ollama/models/ -
• Windows:
C:\Users\<用户名>\.ollama\models\
第三步:验证模型已就绪
ollama list
# 输出示例:
# NAME ID SIZE MODIFIED
# gemma4:latest a2af4ae11ef0 9.6 GB 2 minutes ago第四步:启动对话
# 进入交互对话模式
ollama run gemma4
# 直接提问(单次查询)
ollama run gemma4 "解释一下 MoE(混合专家)架构的工作原理"第五步:使用图像输入
Gemma 4 全系列支持图像输入:
# 命令行方式(指定图片路径)
ollama run gemma4 "这张图片里有什么?请详细描述 /path/to/your/image.jpg"第六步:启用 Thinking(推理)模式
在需要复杂推理的任务中,可以通过系统提示开启推理模式:
ollama run gemma4进入对话后,在系统提示中加入 <|think|>:
>>> /set system "<|think|>你是一个擅长数学推理的助手,请一步步思考后再给出答案。"
>>> 证明:对任意正整数 n,n³ - n 都能被 6 整除。开启后,模型会先输出内部推理过程,再给出最终答案,显著提升复杂任务的准确性。
七、API 调用与集成
Ollama 在本地启动后,会在 http://localhost:11434 提供 REST API,兼容 OpenAI 接口规范。
使用 Ollama 原生 API
# 文本生成
curl http://localhost:11434/api/generate \
-d '{
"model": "gemma4",
"prompt": "用 Python 实现一个二分搜索算法",
"stream": false
}'
# 多轮对话
curl http://localhost:11434/api/chat \
-d '{
"model": "gemma4",
"messages": [
{"role": "user", "content": "你好,介绍一下自己"}
]
}'
# 图像输入(base64 编码)
curl http://localhost:11434/api/generate \
-d '{
"model": "gemma4",
"prompt": "描述这张图片",
"images": ["<base64_encoded_image>"]
}'使用 OpenAI 兼容接口
Ollama 同时提供 /v1/chat/completions 端点,可以直接替换 OpenAI SDK:
from openai import OpenAI
# 将 base_url 指向本地 Ollama
client = OpenAI(
base_url="http://localhost:11434/v1",
api_key="ollama", # 任意字符串均可
)
response = client.chat.completions.create(
model="gemma4",
messages=[
{"role": "system", "content": "你是一个专业的代码审查员。"},
{"role": "user", "content": "请审查以下 Python 代码并指出问题:
def sum(lst):
total = 0
for i in range(len(lst)):
total += lst[i]
return total"}
],
)
print(response.choices[0].message.content)使用 Ollama 官方 Python 库
pip install ollamaimport ollama
# 简单对话
response = ollama.chat(
model='gemma4',
messages=[{'role': 'user', 'content': '解释量子纠缠'}]
)
print(response['message']['content'])
# 流式输出
for chunk in ollama.chat(
model='gemma4',
messages=[{'role': 'user', 'content': '写一首关于人工智能的诗'}],
stream=True
):
print(chunk['message']['content'], end='', flush=True)使用 Ollama 官方 JavaScript 库
import ollama from 'ollama'
const response = await ollama.chat({
model: 'gemma4',
messages: [{ role: 'user', content: '你好!' }],
})
console.log(response.message.content)八、常见问题与解决办法
❌ 问题 1:模型加载后生成速度极慢(< 2 tokens/s)
原因: 显存不足,模型被部分或全部卸载到 CPU 内存(RAM)运行,速度大幅下降。
解决方案:
方案 A:换用更小的模型
# 从 26b 降到 e4b
ollama pull gemma4:e4b
ollama run gemma4:e4b方案 B:使用更激进的量化(减少显存占用)
# Ollama 默认使用 Q4_K_M,这已经是较好的平衡点
# 如需更省显存,可查找社区提供的 Q3 或 Q2 量化版本
ollama pull <社区量化模型>方案 C:检查 GPU 是否被正确使用
# Linux/Windows(NVIDIA)
nvidia-smi
# macOS Apple Silicon
sudo powermetrics --samplers gpu_power -i 1000 -n 3❌ 问题 2:下载中断或速度极慢
原因: 网络连接问题,模型文件较大(9~20 GB)。
解决方案:
Ollama 支持断点续传,重新运行 pull 命令即可继续:
ollama pull gemma4也可以配置代理:
# Linux/macOS(在终端设置)
export HTTPS_PROXY=http://127.0.0.1:7890
ollama pull gemma4
# Windows(PowerShell)
$env:HTTPS_PROXY = "http://127.0.0.1:7890"
ollama pull gemma4❌ 问题 3:运行时提示 "out of memory"
原因: 系统内存(RAM)或显存(VRAM)不足。
解决方案:
方案 A:减小上下文窗口(最有效)
# 创建自定义模型,设置较小的上下文
cat > Modelfile << 'EOF'
FROM gemma4
PARAMETER num_ctx 4096
EOF
ollama create gemma4-small-ctx -f Modelfile
ollama run gemma4-small-ctx方案 B:退出其他占用显存的程序(浏览器、游戏、其他 AI 工具等)
方案 C:换用更小版本的 Gemma 4
❌ 问题 4:Ollama 服务未启动,API 无法访问
表现:curl http://localhost:11434 返回连接被拒绝。
解决方案:
# 手动启动 Ollama 服务
ollama serve
# 或检查服务状态(Linux systemd)
sudo systemctl status ollama
sudo systemctl start ollama
# macOS:检查菜单栏是否有 Ollama 图标
# Windows:检查系统托盘是否有 Ollama 图标❌ 问题 5:图像输入不生效或报错
原因: 图片路径错误,或使用了不支持图像的模型变体。
解决方案:
# 确保路径正确且文件存在
ls -la /path/to/image.jpg
# 使用绝对路径
ollama run gemma4 "描述这张图片 $(pwd)/image.jpg"
# 确认使用的是支持视觉的模型(gemma4 全系列均支持图像)
ollama show gemma4 | grep -i modal❌ 问题 6:Thinking 模式输出乱码或格式异常
原因: Ollama v0.20 已处理 chat template,直接使用 /api/chat 接口时通常无需手动处理思考标记。
解决方案:
使用 /api/chat 接口而非 /api/generate,前者已由 Ollama 正确处理模板:
curl http://localhost:11434/api/chat \
-d '{
"model": "gemma4",
"messages": [
{"role": "system", "content": "<|think|>请逐步推理。"},
{"role": "user", "content": "1000 以内有多少个质数?"}
]
}'❌ 问题 7:Windows 上 NVIDIA GPU 未被识别
解决方案:
-
- 确认已安装 CUDA 驱动(CUDA Toolkit[4])
-
- 确认 Ollama 版本 ≥ 0.1.38
-
- 检查 GPU 是否被识别:
# PowerShell
nvidia-smi
ollama run gemma4:e2b "test"
# 观察 nvidia-smi 的 GPU 利用率是否上升九、进阶技巧
自定义 Modelfile
通过 Modelfile 可以为 Gemma 4 设定专属系统提示、参数和行为:
# 创建专属代码助手
FROM gemma4
# 系统提示(定义角色)
SYSTEM """
你是一位经验丰富的高级软件工程师,擅长 Python、TypeScript 和系统设计。
回答时请:
1. 给出可直接运行的代码
2. 添加必要的注释
3. 指出潜在的性能问题
4. 使用最新的语言特性
"""
# 推理参数
PARAMETER temperature 0.2 # 降低随机性,代码任务适合低温度
PARAMETER top_p 0.9
PARAMETER num_ctx 16384 # 扩大上下文,处理更长的代码文件
PARAMETER repeat_penalty 1.1 # 避免重复输出# 从 Modelfile 创建模型
ollama create gemma4-coder -f Modelfile
# 使用自定义模型
ollama run gemma4-coder调整上下文窗口
Gemma 4 支持超长上下文,但默认 Ollama 上下文较小。可按需调整:
# 运行时指定上下文大小
OLLAMA_NUM_CTX=32768 ollama run gemma4
# 或通过 API 指定
curl http://localhost:11434/api/generate \
-d '{
"model": "gemma4",
"prompt": "分析以下代码库...",
"options": {
"num_ctx": 65536
}
}'⚠️ 注意:上下文窗口越大,所需显存越多。32K tokens 大约额外需要 2~4 GB 显存。
搭配 Open WebUI 使用
Open WebUI[5] 是一个为 Ollama 提供类 ChatGPT 界面的开源 Web 前端,支持多模型切换、对话历史、图像上传等功能。
# 使用 Docker 一键启动
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启动后访问 http://localhost:3000,在设置中连接 Ollama(http://localhost:11434)即可。
并发与性能调优
# 设置并发请求数(默认为 1)
OLLAMA_NUM_PARALLEL=4 ollama serve
# 设置模型在内存中保留的时间(默认 5 分钟,0 表示永久保留)
OLLAMA_KEEP_ALIVE=24h ollama serve
# 将以上配置持久化(Linux systemd)
sudo systemctl edit ollama
# 添加:
# [Service]
# Environment="OLLAMA_NUM_PARALLEL=4"
# Environment="OLLAMA_KEEP_ALIVE=24h"十、总结
Gemma 4 是目前开源社区中能力最强的多模态模型系列之一,而 Ollama 将其部署门槛降到了极低。以下是核心要点的快速回顾:
第一次尝试本地 LLM ollama run gemma4(默认 E4B,开箱即用)
需要处理长文档或 Agent 任务 ollama run gemma4:26b(需 16 GB 显存)
追求最强推理质量 ollama run gemma4:31b(需 24 GB 显存)
设备资源有限 ollama run gemma4:e2b(4 GB 显存即可)
需要集成到应用中 使用 localhost:11434 的 OpenAI 兼容 API
一条命令,本地 AI,完全隐私,免费开源。 这就是 Ollama + Gemma 4 的价值所在。
本文基于 Ollama v0.20 和 Gemma 4 发布版(2025 年 4 月),内容以官方文档为准。
引用链接
[1] Ollama: https://ollama.com/
[2] llama.cpp: https://github.com/ggerganov/llama.cpp
[3] ollama.com: https://ollama.com/download
[4] CUDA Toolkit: https://developer.nvidia.com/cuda-downloads
[5] Open WebUI: https://github.com/open-webui/open-webui