news 2026/9/26 2:48:23

Google AI Edge Gallery 离线落地指南:在手机上跑本地 AI 的完整路径

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Google AI Edge Gallery 离线落地指南:在手机上跑本地 AI 的完整路径

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 步:确认设备门槛。

平台系统要求内存建议
Android12 及以上6GB 起步
iOS17 及以上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/,是理解智能体机制的好入口。

四、拆开看:这套离线推理栈怎么搭的

从下往上四层,每层都对应仓库里的具体实现:

  1. 模型执行层:LiteRT 运行时。Google 把 TensorFlow Lite 演进为 LiteRT,负责在移动硬件上做优化后的模型执行。应用侧代码通过 LiteRT-LM 接口调用,例如 LlmModelHelper.kt 封装了模型实例的生命周期。
  2. 推理 API 层:LLM Inference API。Google AI Edge 提供的设备端大模型推理接口,白名单里的模型描述明确写着走 MediaPipe LLM Inference API 部署,支持文本/图像输入和 4096 的上下文长度(以 Gemma-3n 为例)。
  3. 应用框架层:Kotlin + Jetpack Compose + Hilt。任务、模型、技能都是可插拔模块,用 Hilt 依赖注入装配(见customtasks/*TaskModule.kt的@IntoSet模式),这也是二次开发成本不高的原因。
  4. 模型供给层:Hugging Face 集成。模型发现、元数据拉取走 HuggingFaceApiClient.kt,下载由后台 Worker 完成;官方白名单(model_allowlists/)则按版本约束每个 app 版本可提供的模型集合,企业分发时可以据此锁死模型范围。

一句话概括:LiteRT 负责"算得动",LLM Inference API 负责"调用方便",白名单机制负责"可控地发"。

五、二次开发:换自己的模型、加自己的任务

接入自定义.litertlm模型。应用支持加载自有模型文件,模型管理逻辑集中在 ModelManagerViewModel.kt,模型数据结构定义在 Model.kt。实操路径是:把模型转成 LiteRT 兼容的量化格式(白名单里的模型文件均为 int4/int8 量化的.task文件),然后在模型管理器中导入——应用会把它挂进你的模型库并允许各任务选用。量化位宽和文件体积直接决定内存占用,对照第二节表格选档位。

开发专属任务模块。任务入口抽象是一个接口,定义和完整注释见 CustomTask.kt,实现它需要五步:

  1. 实现CustomTask接口,在task属性里声明名称、描述、图标和可用模型列表;
  2. 实现initializeModelFn/cleanUpModelFn,处理模型的加载与释放;
  3. 实现MainScreenComposable 作为任务详情界面(App 栏、模型选择器、配置按钮已由框架提供);
  4. 写一个 Hilt 模块,用@Provides+@IntoSet把实现绑定进CustomTask集合,任务就会自动出现在首页;
  5. 参考仓库自带的 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),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/26 2:47:57

基于JSP的社区用电服务管理系统毕业设计全解析

又到了毕业设计选题的季节,这类题目年年都会出现:基于JSP的社区用电服务管理系统。我自己当年做毕设时选的就是这类Java Web管理系统,后来也帮不少学弟学妹看过相似题目。很多人一看“JSP”三个字母就开始犹豫,觉得技术太老&#…

作者头像 李华
网站建设 2026/9/26 2:47:10

Winbox 连接 MikroTik 路由器故障排查与修复

本文档记录一次通过 Winbox 远程管理 MikroTik 路由器时遇到连接超时问题的完整排查与修复过程,内容已做脱敏处理(本机真实 IP、VPN 内部 IP、用户名等均以示例值或 xxx 替代;路由器管理网段 192.168.88.0/24 作为示例网段保留)。…

作者头像 李华
网站建设 2026/9/26 2:46:32

国产模拟芯片上车:车规认证、技术门槛与选型实践

1. 国产模拟厂商的“上车”潮到底在说什么最近跟几个做车载电子的老朋友聊天,话题绕来绕去总离不开一个词——“上车”。不是咱们平时说的坐车,而是国产模拟芯片厂商集体往汽车电子这个赛道里挤。做电源管理的、做信号链的、做隔离器件的,甚至…

作者头像 李华
网站建设 2026/9/26 2:46:28

少样本规则推理模型与未知任务自适应应用

Kaggle竞赛“ARC Prize 2026 - ARC-AGI-2”并非传统的预测建模任务,其核心目标是推动人工智能系统具备真正的“泛化”与“新颖问题解决”能力。竞赛要求构建的模型能够从极少数示例中推断出隐藏的抽象规则,并将此规则应用于从未见过的全新任务。 这种能力直接对应着现实业务…

作者头像 李华
网站建设 2026/9/26 2:45:55

记录C语言学习过程

我的名字叫情愁,当然不是真的情感上的愁,只是感觉好听,今天9.25中秋节,从今天开始记录自己的学习日常。为什么学习编程呢,因为不仅仅是学业所需,也是兴趣所引导,学会编程可以让你自己能够做出自…

作者头像 李华
网站建设 2026/9/26 2:45:14

小鸡AI爆火真相:拆解对话模型、记忆机制与陪伴设计

最近好几个群里都在刷“小鸡AI”,有人贴聊天截图,有人说它天天催自己喝水、早起打卡成功了,还有人干脆拿它当树洞。标题写得挺惊悚的,什么“震惊!生活巨变”“真相揭秘”,但我干这行的人反而更想聊聊&#…

作者头像 李华