Gemma 4 本地AI终极指南

本地 AI 终极指南:在家庭网络上托管 Gemma 4。

Gemma 4 本地AI终极指南
微信 ezpoda免费咨询:AI编程 | AI模型微调| AI私有化部署
AI工具导航 | Tripo 3D | Meshy AI | ElevenLabs | KlingAI | ArtSpace | Phot.AI | InVideo

谷歌几天前发布了 Gemma 4,我终于重新爱上了这些模型。

在 Gemma 2 之后,我停止使用它们:我转向了 Qwen,因为它为我提供了足够的上下文长度用于文档分析和智能体功能。

但现在,即使是小巧的 Gemma-4-E2B 也能做到一切。

我是一个"显卡穷人",所以我总是押注于具有出色能力的小语言模型。而 Gemma 4 是我的新选择!

在本文中,我将向你展示如何将旧电脑用作本地 AI 服务器:以及如何在 Google AI Studio 上免费测试更大的模型。

Gemma 4 模型

1、Gemma-4

Gemma-4 是谷歌最新的开放权重模型家族,专注于更强的推理能力、智能体行为和多模态设备端使用。

主要新功能

  • 高级推理和"思考"模式:Gemma-4 可以进行逐步推理、多步规划,并针对智能体工作流进行优化(例如自主工具使用和工作流)。
  • 长上下文窗口:小型 E2B/E4B 边缘模型支持高达 128K token,26B/31B 版本支持高达 256K token,支持非常长的上下文任务。
  • 多模态输入:所有模型都支持文本加图像(支持可变宽高比和多个 token 预算);E2B/E4B 还原生支持音频,某些变体处理类似视频的序列。
  • 更强的编码和函数调用:改进的编码基准测试加上内置的函数调用支持,让模型能够在智能体管道中调用工具和 API,无需额外微调。
  • 原生系统提示支持:4 系列现在具有内置的 system 角色处理,使指令和行为控制更加一致且对开发者友好。在我看来,这是最伟大的功能(我一直在等待它)。
  • 边缘优化的小型模型(E2B/E4B):高效的 2B 和 4B 有效参数模型,专为手机、树莓派和类似硬件设计,具有多模态推理和接近零延迟的离线执行能力。

Gemma-4 是一个推理更快、上下文更长、多模态、支持智能体的模型家族,即使在移动设备和边缘设备上也能高效运行。

不同模型尺寸
不同模型尺寸、目标用例和硬件

已经令人惊叹的 gemma2-2b-it 中主要缺失的功能是:上下文和系统消息。

在现代大语言模型使用中,智能体能力和结构化输出是相辅相成的,为此你需要系统消息和广泛的上下文长度。

gemma-2-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
Google AI Studio

如果你有 Gmail 地址或 Google 账户,注册过程简单直接。

但你需要同意 Gemini API 附加服务条款:出于某些原因,你需要同意你*"是使用 Google AI Studio 和 Gemini API 进行专业或商业目的开发的开发者……"*

由你决定:我将其用于不涉及专有数据的个人项目(主要是搜索、比较和探索新主题)。

注册界面
点击继续后……你就完成了。

你可以访问 Playground,在那里你可以立即开始聊天,切换模型(在我的情况下,我想测试 Gemma 4 的高端:31B 和 MoE)。你还可以设置思考深度(最小、高)。

演示 GIF
你还可以生成 API 密钥以在许多应用程序(如 Perplexica、LMStudio、Opencode、Open Claude)中从你的 PC 使用模型。

免费层的 API 密钥允许你每天进行多达 1500 次调用!

速率限制都在这里

具体来说,Gemma-4 模型基本上是免费的

定价截图
来源

稍后我将向你展示如何将本地 Perplexica 配置为强大的工具,使用 Gemma4-MoE 和免费 API 调用。

所以,创建你的第一个 API 密钥,并将其保存在安全的地方。我们很快就会使用它。

MiniPC

3、MiniPC 作为本地 AI 服务器

我有一台旧的 Beelink mini-PC,4 年前花了我 100 美元。这是一台低端电脑,配备英特尔第 6 代 CPU,没有独立 GPU,16GB 内存。而且 CPU 只有 4 个线程。

但是……我这台不再使用的 miniPC,即使运行 Gemma4-E4B 量化模型也能以不错的速度运行。

运行截图
使用我的 GGUF Runner 和 Inspector 生成速度为 6 token/秒

想法很简单:

  • 你可以使用旧笔记本电脑(装有 Linux 的旧 MacBook)或旧 PC
  • 通过 WiFi 将其连接到本地网络
  • 使用 llama.cpp 服务器和一些技巧运行模型

并获得一个远程、完全本地的 AI,不会降低你自己的工作电脑的速度。

MiniPC 设置

4、在旧硬件上运行 Gemma-4-E4B

超级简单。

1)你需要模型

我建议你从 Hugging Face 上的 Unsloth Gemma 4 专用仓库 下载 GGUF 模型:

下载到一个新的项目目录:我将其命名为 GoogleAIstudio

2)你需要 llama.cpp

获取 llama.cpp 的最新二进制文件。你可能已经拥有的旧版本不一定能工作。

以下是当我尝试使用 b8429 版本运行它时发生的情况……

错误截图
llama.cpp 版本 b8429
架构错误
gemma4 模型架构未知

获取最新版本!

在撰写本文时,b8705 是最后一个版本。

我在 Windows 上,所以我下载了仅 CPU 的 X64 架构二进制文件:

将 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:8888

5、测试本地网络模型 —— 交互方式

我创建了一个小 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_url="http://192.168.1.75:8888/v1", #根据你的 IP 调整
    api_key="sk-no-key-required"
)

请注意,base_url 必须根据你的网络设置和上一步发现的 IP 地址。

5.2 用户输入函数

我想允许在终端中进行长文本复制/粘贴,所以我创建了一个函数来支持多行输入。输入仅在最后按 Ctrl+Z 和 Enter(在 Windows 上)或 Linux/mac 上的 Ctrl+D 后才被接受。

def get_multiline_input():
    console.print("\n[bold cyan]User[/bold cyan] [dim](Ctrl+D/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 调用,所以我们将几乎立即开始打印响应,保持一个小缓冲区以在终端中渲染 Markdown:

def chat():
    messages = [
        {"role": "system", "content": "你是一个有用的助手。使用 Markdown 进行格式化。"}
    ]

    console.print(Panel.fit("[bold reverse] 本地大语言模型聊天 [/bold reverse]\n连接到 192.168.1.75:8888", border_style="green"))
    # 这里是主循环
    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(
                model="gemma",
                messages=messages,
                temperature=1.0,
                stream=True
            )

            console.print("\n[bold magenta]助手:[/bold magenta]")
            # 我使用 rich.live 来渲染控制台
            full_response = ""
            with Live(console=console, refresh_per_second=10, vertical_overflow="visible") 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_header=False, box=None, 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 密钥。

API 设置 1
API 设置 2
API 设置 3

你会看到 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 强大工具。

底线是:

  1. 不要扔掉旧技术:那台第 6 代英特尔 NUC 或积灰的 MacBook 是专用大语言模型服务器的完美候选者。
  2. 混合是王道:使用本地边缘模型(E2B/E4B)进行私人的、快速的日常任务,并连接到Google AI Studio API进行"繁重"的推理任务——全部免费。
  3. 智能体是未来:通过原生函数调用和系统提示,Gemma 4 终于准备好超越"聊天",开始在 Perplexica 等应用程序中工作。

我重新爱上了 Gemma,因为它感觉谷歌终于开始为重视效率而非蛮力的开发者构建。所以,去把那台旧笔记本电脑上的灰尘掸掉,获取 GGUF 文件,开始构建你自己的本地 AI 帝国。


原文链接:Gemma 4 on the Edge: high-performance AI for the "PoorGPUguy"

汇智网翻译整理,转载请标明出处