Google AI Edge Gallery 离线落地指南:在手机上跑本地 AI 的完整路径
【免费下载链接】galleryA gallery that showcases on-device ML/GenAI use cases and allows people to try and use models locally.项目地址: https://gitcode.com/GitHub_Trending/gallery44/gallery
Google AI Edge Gallery 是一个面向移动端的本地 AI 平台:它把开源大模型直接装进你的 Android 或 iOS 设备,离线推理、生成式对话、图像问答全部在本地完成,不经过任何服务器。对设备端 AI 有真实落地需求的人来说,这是目前少数能把"离线跑大模型"变成开箱即用体验的开源项目(Apache 2.0 协议)。
一、为什么要把大模型搬上设备
如果你正在评估本地部署 AI 模型,大概率会撞上这三个问题:
- 数据出不了网。金融单据、病历、工业图纸这类内容,上传到云端 API 意味着合规风险。Gallery 的推理发生在设备硬件上,提示词、图片、音频都不离开本机——这是架构决定的,不是配置项。
- 网络条件不可靠。工厂车间、野外作业、机舱环境里云端服务时断时续。模型文件一旦下载并加载完成,后续所有功能断网可用。
- 想自己挑模型。云端 API 给你什么用什么,而 Gallery 内置模型库,支持从 Hugging Face 拉取社区模型,也支持加载你自己的自定义模型。
这三条里只要占一条,端侧生成式 AI 就值得认真评估。
二、三步把平台跑起来
第 1 步:确认设备门槛。
| 平台 | 系统要求 | 内存建议 |
|---|---|---|
| Android | 12 及以上 | 6GB 起步 |
| iOS | 17 及以上 | 6GB 起步 |
为什么强调内存?看仓库里的模型白名单 model_allowlist.json:最小的 Gemma3-1B 4-bit 量化版文件约 555MB、运行峰值内存约 2.1GB;Gemma-3n-E4B 峰值内存则逼近 7GB。内存低于 6GB 的设备只能跑 1B 级别的小模型,加载稍大的模型会被系统杀掉。
第 2 步:安装应用。三条渠道任选:Google Play / App Store 直接安装;没有 Play 渠道的地区从最新 Release 页拿 APK 侧载;企业设备统一分发也可以走 APK。模型本身是应用内按需下载的(首次使用某个任务前),所以安装包很小。
第 3 步:下载并验证模型。进入对应任务(如 AI Chat),选择模型并等待下载完成即可离线对话。如果要做本地构建,参考DEVELOPMENT.md:
git clone https://gitcode.com/GitHub_Trending/gallery44/gallery用 Android Studio 打开Android/目录。注意:模型下载功能依赖 Hugging Face 的 OAuth 配置,需要把你在 Hugging Face 创建的开发者应用的clientId和redirectUri填入 ProjectConfig.kt,并在app/build.gradle.kts里同步修改appAuthRedirectScheme,否则下载功能不可用。
三、能力盘点:这套离线平台到底能干什么
按能力维度拆开看,每一项对应仓库里真实存在的任务模块:
- 文本对话(AI Chat)。多轮对话,支持流式输出;对 Gemma 4 系列支持"思考模式"(Thinking Mode),可以展开查看模型的逐步推理过程,排查复杂问题的解法时有用。
- 图像理解(Ask Image)。用相机或相册里的图片提问:识别物体、解视觉题、生成详细描述。走多模态模型(如 Gemma-3n,白名单里标记了
llmSupportImage: true)。 - 音频转写与翻译(Audio Scribe)。语音录音实时转文字并翻译,用的是设备端小模型,适合会议纪要、口述记录这类场景。
- 设备控制(Mobile Actions)。基于 FunctionGemma 270M 微调,AI 可以直接驱动手机完成离线的设备操作和自动化任务。
- 智能体技能(Agent Skills)。给对话模型外挂工具:查 Wikipedia 做事实核对、交互式地图、可视化摘要卡片。技能以模块化方式提供,见 skills/built-in/,每个技能就是一个带
SKILL.md的目录,也支持从 URL 加载。 - 参数实验(Prompt Lab)。单轮测试工作台,能单独调 temperature、top-k 等采样参数,适合做 prompt 对比实验。
- 基准测试(Benchmark)。内置跑分工具,量化每个模型在你这台设备上的表现,后面单独讲。
- 小样本场景演示(Tiny Garden)。用自然语言"种花收菜"的迷你游戏,底层是 FunctionGemma 270M 微调,用来演示工具调用(Function Calling)在端上的完整链路,代码在 customtasks/tinygarden/,是理解智能体机制的好入口。
四、拆开看:这套离线推理栈怎么搭的
从下往上四层,每层都对应仓库里的具体实现:
- 模型执行层:LiteRT 运行时。Google 把 TensorFlow Lite 演进为 LiteRT,负责在移动硬件上做优化后的模型执行。应用侧代码通过 LiteRT-LM 接口调用,例如 LlmModelHelper.kt 封装了模型实例的生命周期。
- 推理 API 层:LLM Inference API。Google AI Edge 提供的设备端大模型推理接口,白名单里的模型描述明确写着走 MediaPipe LLM Inference API 部署,支持文本/图像输入和 4096 的上下文长度(以 Gemma-3n 为例)。
- 应用框架层:Kotlin + Jetpack Compose + Hilt。任务、模型、技能都是可插拔模块,用 Hilt 依赖注入装配(见
customtasks/*TaskModule.kt的@IntoSet模式),这也是二次开发成本不高的原因。 - 模型供给层:Hugging Face 集成。模型发现、元数据拉取走 HuggingFaceApiClient.kt,下载由后台 Worker 完成;官方白名单(model_allowlists/)则按版本约束每个 app 版本可提供的模型集合,企业分发时可以据此锁死模型范围。
一句话概括:LiteRT 负责"算得动",LLM Inference API 负责"调用方便",白名单机制负责"可控地发"。
五、二次开发:换自己的模型、加自己的任务
接入自定义.litertlm模型。应用支持加载自有模型文件,模型管理逻辑集中在 ModelManagerViewModel.kt,模型数据结构定义在 Model.kt。实操路径是:把模型转成 LiteRT 兼容的量化格式(白名单里的模型文件均为 int4/int8 量化的.task文件),然后在模型管理器中导入——应用会把它挂进你的模型库并允许各任务选用。量化位宽和文件体积直接决定内存占用,对照第二节表格选档位。
开发专属任务模块。任务入口抽象是一个接口,定义和完整注释见 CustomTask.kt,实现它需要五步:
- 实现
CustomTask接口,在task属性里声明名称、描述、图标和可用模型列表; - 实现
initializeModelFn/cleanUpModelFn,处理模型的加载与释放; - 实现
MainScreenComposable 作为任务详情界面(App 栏、模型选择器、配置按钮已由框架提供); - 写一个 Hilt 模块,用
@Provides+@IntoSet把实现绑定进CustomTask集合,任务就会自动出现在首页; - 参考仓库自带的 customtasks/examplecustomtask/ 示例抄结构。
如果你只是要扩展能力而不是新增入口,改技能更轻:往skills/下加一个目录、写一份SKILL.md,再配scripts/index.html提供交互 UI,智能体会按需加载。
六、TTFT 和解码速度怎么看
Gallery 内置 benchmark 功能,跑分时围绕三个指标采集数据,采集逻辑在 MetricsTracker.kt,理解它们的含义再对比模型:
- TTFT(首 token 时间)。从你按下发送到第一个 token 流出来的耗时,涵盖 prefill 阶段。TTFT 大,用户感知的就是"卡"。判断标准:交互式对话场景 TTFT 应控制在 1~2 秒内,明显更长的模型要检查是否走了纯 CPU、或上下文被拉得太长。
- 解码速度(token/s)。流式输出阶段的吞吐,决定"打字机效果"是顺滑还是断续。同一模型换加速器(CPU/GPU,白名单里每个模型都有
accelerators配置)后,主要差距通常体现在这里。 - 延迟与资源消耗。除了延迟,追踪器还会周期性采样进程内存和电池功耗,输出到 ADB 日志。评估"能否量产部署"时,峰值内存是否顶到系统上限、单次推理的电量消耗,比纯速度更值得看。
用法建议:同一台设备上,先跑 1B 级小模型建立基线,再对比 3B/4B 模型在 TTFT 和解码速度上的劣化幅度——如果劣化超过你的交互体验容忍线,就留在小模型档位,这比盲选"最大的模型"更靠谱。
七、边界与展望
适合什么:数据敏感型行业(金融、医疗、制造)的内网场景;弱网/无网现场;需要把模型选择权和推理参数握在自己手里的团队。
要接受的代价:
- 当前仍是实验性 Beta 版本,功能与接口可能变动;
- 模型规模受设备内存硬约束,端上主力还是 1B~4B 级别的量化模型,与云端大模型的能力差距客观存在;
- 模型下载依赖 Hugging Face 渠道,企业内网部署时要提前打通或走 APK 侧载 + 模型预置。
路线图:除了 Android,iOS 版已上架 App Store(要求 iOS 17+),macOS 也提供了 0.1.0 的下载包,同一套端侧推理栈正在向多平台铺开。对技术选型来说,这个组合意味着你现在的 Android 端方案,未来大概率不用推倒重来。
一句话收束:先用 1B 小模型在一台 6GB 内存的设备上把离线对话、图像问答跑通,再用 benchmark 数据决定上哪个档位——这条路径就是 Google AI Edge Gallery 给出的设备端 AI 落地模板。
【免费下载链接】galleryA gallery that showcases on-device ML/GenAI use cases and allows people to try and use models locally.项目地址: https://gitcode.com/GitHub_Trending/gallery44/gallery
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考