乐于分享
好东西不私藏

0成本!Mac本地搭建AI编程助手,72tokens/s免费跑

0成本!Mac本地搭建AI编程助手,72tokens/s免费跑

上周,HackerNews上一篇「如何在Mac上搭建本地AI编程助手」获得了468个点赞。作者用llama.cpp + Gemma 4 26B + MTP推测解码,在M1 Max上跑出了72 tokens/s的速度——而且完全免费。今天我把这个方法完整拆解,带你一步步复现。

🔍 这是什么?为什么值得关注?

这是一套完全免费的本地AI编程助手方案,核心组件:

  • 🤖 Pi Coding Agent — 开源终端AI编程助手,支持任何OpenAI兼容API
  • ⚙️ llama.cpp — 高性能LLM推理引擎,支持Apple Metal GPU加速
  • 🧠 Gemma 4 26B-A4B — Google开源MoE模型,仅3.8B参数激活,性能接近31B
  • 🚀 MTP推测解码 — 用小模型草稿+大模型验证,提速24%
  • 🌐 OpenRouter免费API — 云端备选,26个免费模型随时切换

⚡ 实测性能:72.2 tokens/s(MTP加速)| 58.2 tokens/s(基础)

测试平台:Apple M1 Max 64GB | 模型:Gemma 4 26B-A4B Q4量化

🏗️ 系统架构

整体架构分四层:用户 → Pi Agent → llama.cpp/OpenRouter → 模型。本地优先,云端补充。

📋 环境要求

  • 硬件:
    Apple Silicon Mac(M1/M2/M3/M4),建议32GB+统一内存
  • 系统:
    macOS 14+
  • 内存:
    最低16GB(跑26B模型需32GB+以获得足够上下文)
  • 磁盘:
    至少20GB可用空间(模型文件约16GB)
  • 软件:
    Xcode Command Line Tools、CMake、Python 3.10+

🛠️ 完整搭建步骤

步骤1:安装依赖

# 安装 Xcode Command Line Tools xcode-select --install  # 安装 Homebrew(如未安装) /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"  # 安装 CMake 和 Python 依赖 brew install cmake python@3.11 pip3 install huggingface-hub 

步骤2:编译 llama.cpp(Metal GPU加速)

# 克隆仓库 git clone https://github.com/ggerganov/llama.cpp cd llama.cpp  # 编译(Metal GPU加速默认开启) cmake -B build -DCMAKE_BUILD_TYPE=Release cmake --build build --config Release -j $(sysctl -n hw.ncpu)  # 验证编译成功 ls build/bin/llama-cli ls build/bin/llama-server 

步骤3:下载 Gemma 4 26B 模型

# 创建模型目录 mkdir -p models cd models  # 下载主模型(~16GB,Q4_K_XL量化) huggingface-cli download unsloth/gemma-4-26B-A4B-it-GGUF \   gemma-4-26B-A4B-it-UD-Q4_K_XL.gguf \   --local-dir .  # 下载MTP草稿模型(~1GB,用于推测解码加速) huggingface-cli download unsloth/gemma-4-26B-A4B-it-GGUF \   MTP/gemma-4-26B-A4B-it-Q8_0-MTP.gguf \   --local-dir .  # 下载多模态投影器(如需图片输入) huggingface-cli download unsloth/gemma-4-26B-A4B-it-GGUF \   mmproj-gemma-4-26B-A4B-it.gguf \   --local-dir . 

步骤4:启动 llama.cpp Server

# 启动服务(Metal GPU加速 + MTP推测解码) ./build/bin/llama-server \   -m models/gemma-4-26B-A4B-it-UD-Q4_K_XL.gguf \   --model-draft models/MTP/gemma-4-26B-A4B-it-Q8_0-MTP.gguf \   --spec-type draft-mtp \   --spec-draft-n-max 3 \   -ngl 999 \   -fa on \   -c 4096 \   --host 0.0.0.0 \   --port 8080  # 参数说明: # -ngl 999    → 所有层放GPU # -fa on      → 启用Flash Attention # -c 4096     → 上下文长度 # --spec-draft-n-max 3 → MTP草稿token数(1-6,3最优) 

步骤5:安装 Pi Coding Agent

# 安装 Pi(Node.js 18+) npm install -g @earendil-works/pi-coding-agent  # 验证安装 pi --version 

步骤6:配置 Pi 使用本地模型

# 方式A:使用本地 llama.cpp pi --model openai/gemma-4-26b-a4b-it:free \   --base-url http://localhost:8080/v1  # 方式B:使用 OpenRouter 免费API(无需本地模型) pi --model openai/gemma-4-26b-a4b-it:free \   --base-url https://openrouter.ai/api/v1 \   --api-key YOUR_OPENROUTER_KEY  # 方式C:使用 OpenRouter 完全免费模型(无需API Key) pi --model google/gemma-4-26b-a4b-it:free \   --base-url https://openrouter.ai/api/v1 

✅ 验证成功

启动后,在终端中输入问题,AI应该能正常回复。验证命令:

# 测试 API 是否正常工作 curl http://localhost:8080/v1/chat/completions \   -H "Content-Type: application/json" \   -d '{     "model": "gemma-4-26b-a4b-it",     "messages": [{"role": "user", "content": "用Python写一个快速排序"}],     "max_tokens": 256   }'  # 预期返回:JSON中包含 choices[0].message.content,内容是快速排序代码 

⚠️ 常见问题 & 踩坑点

  • ❓ 模型下载太慢?
     使用 huggingface-cli download 支持断点续传。也可以从 hf-mirror.com 镜像下载。
  • ❓ 内存不够?
     换更小的量化版本(Q3_K_M约12GB,Q2_K约8GB),或换用更小的模型如Gemma 4 11B。
  • ❓ MTP不生效?
     确认草稿模型路径正确,--spec-draft-n-max 从1到6逐个测试,不同硬件最优值不同。
  • ❓ Pi连接失败?
     检查llama.cpp server是否正在运行(curl http://localhost:8080/health),确认端口未被占用。
  • ❓ 速度太慢?
     确保 -ngl 999 开启了GPU加速。用 -ngl 0 可强制CPU模式对比。
  • ❓ 想要多模态?
     添加 --mmproj models/mmproj-gemma-4-26B-A4B-it.gguf 参数启用图片输入。

💰 成本对比

方案
月成本
速度
隐私
本教程(本地llama.cpp)
¥0
72 t/s
⭐⭐⭐⭐⭐
OpenRouter免费API
¥0
取决于网络
⭐⭐⭐
ChatGPT Pro
~$200/月
100+ t/s
⭐⭐
Claude Pro
~$200/月
80+ t/s
⭐⭐

📝 总结

这套方案的核心思路是「本地优先,云端补充」

  • 🏠 本地运行:llama.cpp + Gemma 4 26B,零成本,数据不出本机
  • 🚀 MTP加速:推测解码提升24%速度,72 tokens/s完全可用
  • 🌐 云端备选:OpenRouter 26个免费模型,本地不够用时无缝切换
  • 🤖 Pi Agent:开源编程助手,支持工具调用、代码编辑、多轮对话

整个过程完全免费,不需要任何API Key,不需要信用卡。如果你有一台Apple Silicon Mac,今天就能跑起来。

📱 关注「溜回几千里」

每周分享AI实战教程 · 开源工具 · 免费资源

觉得有用?转发给需要的朋友 🚀