Google AI Edge Gallery я присмотрел давно, но всё не доходили руки. Наконец добрался и попробовал — это открытое приложение (Apache-2.0) от Google AI Edge: Android 12+, iOS 17+, есть сборка для macOS. Оно запускает небольшие LLM прямо на устройстве, офлайн, на рантайме LiteRT. Модели качаются из каталога через Hugging Face или подгружаются свои.
Мне было интересно не столько перечисление, сколько как это работает в живых задачах.
Что закладывали разработчики
В README Gallery описана как «галерея, которая показывает сценарии on-device ML/GenAI и даёт попробовать модели локально». То есть это не законченный продукт, а витрина: авторы хотят, чтобы человек взял телефон, скачал модель и сам увидел, на что она способна без сервера. Отсюда и набор сценариев:
- Agent Skills — превращают чат из собеседника в ассистента: подключаются инструменты вроде Wikipedia, карты, визуальные карточки, а также модульные скиллы, которые можно загрузить по URL.
- AI Chat с Thinking Mode — многотуровый диалог, где видно рассуждения модели по шагам.
- Instant Media Search — поиск по медиатеке на естественном языке и подбор похожих картинок.
- Video Moment Finder — поиск конкретных моментов внутри видео по описанию.
- Ask Image — распознавание объектов и описание снимка с камеры.
- Audio Scribe — транскрипция и перевод голосовых записей.
- Prompt Lab — тест промптов с ручной настройкой параметров.
- Mobile Actions и Tiny Garden — эксперименты на finetune FunctionGemma 270m: офлайн-управление устройством и мини-игра.
- Model Management & Benchmark — скачать свои модели и прогнать замер на конкретном железе.
Общая идея простая: показать, что полезный ИИ может работать прямо на устройстве и что границы тут задаёт железо, а не вендор.
Что попробовал
Video Moment Finder. Загрузил видео, где играют дети, и попросил показать опасные моменты. Оно реально нашло нужный кадр: младшая дочка оступается на балансире и почти падает. Приятно удивился — на телефонном железе и без сети.
Чего не хватило. Скилла, который искал бы и редактировал файлы на самом телефоне. Сейчас Gallery работает с медиа внутри себя, но не как файловый помощник. Уже закинул в проработку форк, который будет это делать, — и заодно добавляю в него все инструменты из OpenAI-спецификации, чтобы модель могла не только отвечать, но и реально действовать. Посмотрим, что получится.
Стек, на котором делаю форк, — то, что уже лежит в Gallery и что легко расширяется под такую задачу. Веду разработку на ноутбуке с подключённым Android SDK: Kotlin 2.2 + Jetpack Compose (Material 3) на клиенте, LiteRT 0.18 как рантайм для локальных моделей, Hilt для DI, Coroutines + serialization. Из коробки там уже есть MCP Kotlin SDK 0.8 (модельно-контекстный протокол для подключения внешних инструментов), ML Kit GenAI, MediaPipe tasks и Ktor-клиент для сетевых вызовов. То есть фундамент под file-инструменты заложен, остаётся навесить на него сами action-эндпоинты и разрешения.
Расход батареи. Когда модель крутится локально, телефон греется и заметно быстрее садится, особенно на видео и длинных сессиях. Это честная плата за независимость от облака: вычисление идёт на твоём железе и за твой счёт.
Загрузка…