Gemma 4 本地AI终极指南

张开发
2026/6/2 6:42:15 15 分钟阅读
Gemma 4 本地AI终极指南
谷歌几天前发布了 Gemma 4我终于重新爱上了这些模型。在 Gemma 2 之后我停止使用它们我转向了 Qwen因为它为我提供了足够的上下文长度用于文档分析和智能体功能。但现在即使是小巧的 Gemma-4-E2B 也能做到一切。我是一个显卡穷人所以我总是押注于具有出色能力的小语言模型。而 Gemma 4 是我的新选择在本文中我将向你展示如何将旧电脑用作本地 AI 服务器以及如何在 Google AI Studio 上免费测试更大的模型。1、Gemma-4Gemma-4 是谷歌最新的开放权重模型家族专注于更强的推理能力、智能体行为和多模态设备端使用。主要新功能高级推理和思考模式Gemma-4 可以进行逐步推理、多步规划并针对智能体工作流进行优化例如自主工具使用和工作流。长上下文窗口小型 E2B/E4B 边缘模型支持高达 128K token26B/31B 版本支持高达 256K token支持非常长的上下文任务。多模态输入所有模型都支持文本加图像支持可变宽高比和多个 token 预算E2B/E4B 还原生支持音频某些变体处理类似视频的序列。更强的编码和函数调用改进的编码基准测试加上内置的函数调用支持让模型能够在智能体管道中调用工具和 API无需额外微调。原生系统提示支持4 系列现在具有内置的system角色处理使指令和行为控制更加一致且对开发者友好。在我看来这是最伟大的功能我一直在等待它。边缘优化的小型模型E2B/E4B高效的 2B 和 4B 有效参数模型专为手机、树莓派和类似硬件设计具有多模态推理和接近零延迟的离线执行能力。Gemma-4 是一个推理更快、上下文更长、多模态、支持智能体的模型家族即使在移动设备和边缘设备上也能高效运行。不同模型尺寸、目标用例和硬件已经令人惊叹的 gemma2-2b-it 中主要缺失的功能是上下文和系统消息。在现代大语言模型使用中智能体能力和结构化输出是相辅相成的为此你需要系统消息和广泛的上下文长度。gemma-2-2b-it强大的聊天/指令遵循能力针对小占用部署进行优化例如端点、简单聊天机器人。纯文本到文本没有原生多模态或高级思考模式编码和数学能力弱于后代模型。gemma-3n-E2B专家混合式设计总共 5B 参数但表现得像 2B 占用模型针对设备端效率进行调整。纯文本但比 Gemma-2-2B 具有更好的推理和指令遵循能力面向设备端但尚不支持多模态或智能体。gemma-4-E2B多模态支持文本图像以及在更广泛的 Gemma-4 家族中支持类似音频或视频的行为具有长上下文例如 32K-128K 范围。专为高级推理“思考模式”、函数调用和手机/树莓派类设备上的智能体工作流设计。我们可以轻松地在硬件上运行该家族的边缘模型使用 llama.cpp。但如果你想尝试 26B/31B 版本你可以选择 Google AI studio 上的免费 API 或 Playground……免费2、Google AI Studio 免费 API 和 Playground谷歌提供了一个丰富的集成环境可以直接在 Google AI Studio 上玩转谷歌模型文本、音频、图像和视频。Google AI Studio如果你有 Gmail 地址或 Google 账户注册过程简单直接。但你需要同意 Gemini API 附加服务条款出于某些原因你需要同意你*“是使用 Google AI Studio 和 Gemini API 进行专业或商业目的开发的开发者……”*由你决定我将其用于不涉及专有数据的个人项目主要是搜索、比较和探索新主题。点击继续后……你就完成了。你可以访问 Playground在那里你可以立即开始聊天切换模型在我的情况下我想测试 Gemma 4 的高端31B 和 MoE。你还可以设置思考深度最小、高。你还可以生成 API 密钥以在许多应用程序如 Perplexica、LMStudio、Opencode、Open Claude中从你的 PC 使用模型。免费层的 API 密钥允许你每天进行多达 1500 次调用速率限制都在这里。具体来说Gemma-4 模型基本上是免费的。来源稍后我将向你展示如何将本地 Perplexica 配置为强大的工具使用 Gemma4-MoE 和免费 API 调用。所以创建你的第一个 API 密钥并将其保存在安全的地方。我们很快就会使用它。3、MiniPC 作为本地 AI 服务器我有一台旧的 Beelink mini-PC4 年前花了我 100 美元。这是一台低端电脑配备英特尔第 6 代 CPU没有独立 GPU16GB 内存。而且 CPU 只有 4 个线程。但是……我这台不再使用的 miniPC即使运行 Gemma4-E4B 量化模型也能以不错的速度运行。使用我的 GGUF Runner 和 Inspector 生成速度为 6 token/秒想法很简单你可以使用旧笔记本电脑装有 Linux 的旧 MacBook或旧 PC通过 WiFi 将其连接到本地网络使用 llama.cpp 服务器和一些技巧运行模型并获得一个远程、完全本地的 AI不会降低你自己的工作电脑的速度。4、在旧硬件上运行 Gemma-4-E4B超级简单。1你需要模型我建议你从 Hugging Face 上的 Unsloth Gemma 4 专用仓库 下载 GGUF 模型gemma-4-E4B-it-Q3_K_S.gguf 对应 4B 活跃参数gemma-4-E2B-it-Q4_K_M.gguf 对应 2B 活跃参数下载到一个新的项目目录我将其命名为GoogleAIstudio。2你需要 llama.cpp获取 llama.cpp 的最新二进制文件。你可能已经拥有的旧版本不一定能工作。以下是当我尝试使用 b8429 版本运行它时发生的情况……llama.cpp 版本 b8429gemma4 模型架构未知获取最新版本在撰写本文时b8705 是最后一个版本。Release b8705 · ggml-org/llama.cpp我在 Windows 上所以我下载了仅 CPU 的 X64 架构二进制文件llama-b8705-bin-win-cpu-x64.zip将 ZIP 压缩包解压到同一目录我的名为GoogleAIstudio。在同一目录中打开终端并运行.\llama-server.exe -m .\gemma-4-E4B-it-Q4_K_S.gguf -c 64000 -ngl 0 -ctk q4_0 -ctv q4_0 --mmap --temp 1.0 --top-p 0.95 --top-k 64 --port 8888 --host 0.0.0.0这里的关键参数是--port 8888这是 API 的监听端口--host 0.0.0.0这里告诉将 API 暴露到网络。实际上你可以看到 Windows 正在询问你是否允许llama-server.exe 访问网络点击允许你需要知道旧电脑上的 IP 地址就像我在上面小视频中所做的那样打开一个新终端并运行此命令ipconfig你将获得有关 PC 上所有网络适配器的信息类似这样无线局域网适配器 Wi-Fi 2: 连接特定的 DNS 后缀 . : nexxt IPv6 地址. . . . . . . . . . . : 2001:b07:6440:da7b:3542:8fe1:62f7:1c9 临时 IPv6 地址. . . . . . : 2001:b07:6440:da7b:205b:32ec:4099:deb3 临时 IPv6 地址. . . . . . : 2001:b07:6440:da7b:4d8b:a209:4120:d0b5 本地链接 IPv6 地址 . . . . . : fe80::eec7:e9e9:80cf:a71d%5 IPv4 地址. . . . . . . . . . . : 192.168.1.75 子网掩码 . . . . . . . . . . . : 255.255.255.0 默认网关 . . . . . . . . . : fe80::5a76:acff:fe04:9220%5 192.168.1.254我的 miniPC IP 地址是标记为IPv4 地址的那个192.168.1.75。这是网络上 llama-server 的地址API 暴露在 8888 端口……http://192.168.1.75:88885、测试本地网络模型 —— 交互方式我创建了一个小 CLI 应用程序让你立即了解这些模型有多好。另外llama-cpp 的内置 Web 聊天已经可用。你甚至可以从网络上的另一台计算机运行它只需在浏览器中输入IP:端口在我的情况下是http://192.168.1.75:8888对于 CLI 应用程序我们需要一些库最好全局安装。打开终端并运行pip install openai rich这个 CLI 应用程序能够从远程 llama-server 流式传输结果并在终端中以 Markdown 格式渲染推理过程和最终输出。5.1 导入我们需要rich来在终端中渲染 Markdown以及openai库来处理chat.completion的 API 调用。import sys import time from openai import OpenAI from rich.console import Console from rich.markdown import Markdown from rich.live import Live from rich.panel import Panel from rich.table import Table # 初始化 Rich 控制台 console Console() client OpenAI( base_urlhttp://192.168.1.75:8888/v1, #根据你的 IP 调整 api_keysk-no-key-required )请注意base_url必须根据你的网络设置和上一步发现的 IP 地址。5.2 用户输入函数我想允许在终端中进行长文本复制/粘贴所以我创建了一个函数来支持多行输入。输入仅在最后按 CtrlZ 和 Enter在 Windows 上或 Linux/mac 上的 CtrlD 后才被接受。def get_multiline_input(): console.print(\n[bold cyan]User[/bold cyan] [dim](CtrlD/Z 发送, exit 退出):[/dim]) contents [] try: while True: line sys.stdin.readline() if not line: break contents.append(line) except EOFError: pass return .join(contents).strip()5.3 响应函数因为我们使用流式选项发送 API 调用所以我们将几乎立即开始打印响应保持一个小缓冲区以在终端中渲染 Markdowndef chat(): messages [ {role: system, content: 你是一个有用的助手。使用 Markdown 进行格式化。} ] console.print(Panel.fit([bold reverse] 本地大语言模型聊天 [/bold reverse]\n连接到 192.168.1.75:8888, border_stylegreen)) # 这里是主循环 while True: user_text get_multiline_input() if user_text.lower() in [exit, quit]: console.print([yellow]正在关闭会话...[/yellow]) break if not user_text: continue messages.append({role: user, content: user_text}) # 启动 KPI 计时器 try: start_time time.time() ttft_time None response client.chat.completions.create( modelgemma, messagesmessages, temperature1.0, streamTrue ) console.print(\n[bold magenta]助手:[/bold magenta]) # 我使用 rich.live 来渲染控制台 full_response with Live(consoleconsole, refresh_per_second10, vertical_overflowvisible) as live: for chunk in response: # 捕获首 token 时间 if ttft_time is None: ttft_time time.time() - start_time content chunk.choices[0].delta.content if content: full_response content live.update(Markdown(full_response)) total_time time.time() - start_time # 在小表格中显示性能指标 stats_table Table(show_headerFalse, boxNone, padding(0, 2)) stats_table.add_row( f[dim]TTFT: {ttft_time:.2f}s[/dim], f[dim]总计: {total_time:.2f}s[/dim], f[dim]速度: {len(full_response.split()) / total_time:.1f} 词/秒[/dim] ) console.print(stats_table) messages.append({role: assistant, content: full_response}) except Exception as e: console.print(f\n[bold red]错误:[/bold red] {e})最后我们调用 Python 应用程序if __name__ __main__: chat()我的文件名为ATEST_remoteGemma4.py。要使用 Python 应用程序请从终端运行python .\ATEST_remoteGemma4.py这就是将要发生的事情……你也可以在我的 GitHub 仓库中找到整个代码。6、在Perplexica中使用它你可以在 CLI 应用程序中调用它或者轻松将其连接到 LMStudio甚至 Opencode你的本地 AI 智能体堆栈。但今天我将向你展示如何将其与 Perplexica 一起使用这是著名的 Perplexity 的本地版本。当你的 vane/Perplexica 已经在运行对我来说在 Docker 容器中启动浏览器并点击 ⚙️ 设置图标设置 模型 添加连接现在我们想要 Gemini 连接也适用于 GoogleAIstudio API使用我们 5 分钟前创建的 API 密钥。你会看到 Perplexica 已经扫描了所有可用模型我高亮显示了 Gemma4 的模型。记住检查哪些模型有免费层目前我只能看到 Gemma4 是免费的。返回 Perplexica 主页将模型切换到我们刚刚配置的新连接中的模型然后运行你的查询7、为什么 Gemma 4 是游戏规则改变者在我们结束之前让我们看看从 Gemma 2 到 Gemma 4 的跳跃对显卡穷人来说为什么重要。系统提示革命在以前的版本中你必须将指令黑客攻击到用户消息中。Gemma 4 的原生系统角色支持意味着模型实际上保持角色并更好地遵循约束即使是小尺寸。可呼吸的上下文从旧的小型模型的狭窄 8K 上下文移动到 E2B/E4B 系列的128K改变了一切。你现在可以将整个技术文档 PDF 输入到 4 线程的 mini-PC 并获得有意义的答案。思考优势新的推理模式适用于所有模型。即使是边缘模型现在也可以暂停并规划这大大减少了复杂任务如编码或逻辑谜题期间的幻觉。8、结束语我们经常认为要站在 AI 的 bleeding edge我们需要花数千美元购买最新的 GPU 或月度订阅。Gemma 4 证明了相反的观点。结合谷歌高效的开放权重、llama.cpp的轻量级强大功能以及用旧 mini-PC 进行的硬件考古你可以用几瓦电的成本构建一个私人的 AI 强大工具。底线是不要扔掉旧技术那台第 6 代英特尔 NUC 或积灰的 MacBook 是专用大语言模型服务器的完美候选者。混合是王道使用本地边缘模型E2B/E4B进行私人的、快速的日常任务并连接到Google AI Studio API进行繁重的推理任务——全部免费。智能体是未来通过原生函数调用和系统提示Gemma 4 终于准备好超越聊天开始在 Perplexica 等应用程序中做工作。我重新爱上了 Gemma因为它感觉谷歌终于开始为重视效率而非蛮力的开发者构建。所以去把那台旧笔记本电脑上的灰尘掸掉获取 GGUF 文件开始构建你自己的本地 AI 帝国。原文链接Gemma 4 本地AI终极指南 - 汇智网

更多文章