Connect with us

Разработка

Интеллектуальные приложения для Android: введение в Jetpacker

В этой серии публикаций Google поможет пройти через все эти варианты выбора. Мы начнём с базового мобильного приложения и постепенно превратим его в персонализированный, интеллектуальный и агентный пользовательский опыт.

Опубликовано

/

     
     

Создание функций генеративного ИИ в приложении обычно означает необходимость разобраться с разными моделями, API и архитектурными решениями.

  • Место выполнения. Где запускается модель: на устройстве, в облаке или в обоих вариантах?
  • Сложность. Насколько сложна ваша схема? Это один вызов модели для получения результата или вам нужен более агентный сценарий?
  • Внутри приложения или на уровне Android-системы. Должна ли функция быть встроена в ваше Android-приложение или она лучше подходит для интеграции с системными возможностями Android?

В этой серии публикаций Google поможет пройти через все эти варианты выбора. Мы начнём с базового мобильного приложения и постепенно превратим его в персонализированный, интеллектуальный и агентный пользовательский опыт.

Jetpacker: демонстрационное приложение для путешествий

Jetpacker — это техническое демонстрационное приложение, которое наша команда создала с нуля к Google I/O этого года. Оно было разработано с использованием Antigravity. В основе Jetpacker лежит идея помочь пользователям планировать, изучать и проживать свои следующие большие путешествия. Приложение показывает обзор поездок, маршрут каждой поездки и подробности отдельных событий внутри неё. Разумеется, всё это реализовано с учётом лучших практик Android-разработки, включая выразительный дизайн интерфейса на Material UI.

И самое приятное: приложение полностью открытое.

Сегодня мы публикуем серию технических статей с подробным разбором каждой из этих функций. Мы покажем этапы реализации, фрагменты кода и архитектурные решения, которые помогут вам создавать собственные интеллектуальные Android-приложения.

Интеллект на устройстве

Интеллектуальные приложения для Android: введение в Jetpacker

Функции Jetpacker, работающие на устройстве: краткое изложение маршрутов поездок, управление расходами и голосовые заметки.

Использование модели на устройстве не создаёт дополнительных затрат на облачный инференс, избавляет от зависимости от подключения к интернету и позволяет пользователям быть уверенными, что конфиденциальная информация обрабатывается локально, прямо на устройстве, без отправки данных в облако.

В Jetpacker мы выбрали инференс на устройстве для трёх функций.

  • Функция обзора поездки превращает разрозненный многодневный маршрут в краткое и полезное резюме. Она использует Gemini Nano через GenAI API из ML Kit и обрабатывает данные локально на устройстве. Мы рассматриваем эту функцию как приятное дополнение, ради которого не хочется нести дополнительные облачные расходы, поэтому инференс на устройстве здесь хорошо подходит.
  • Трекер расходов автоматически извлекает структурированные данные из фотографий чеков, помогая пользователям отслеживать траты в поездке. Он использует мультимодальные возможности Gemini Nano 4 через GenAI API из ML Kit. Мы выбрали локальное решение, чтобы конфиденциальная информация с чеков не покидала устройство пользователя.
  • Аудиодневник записывает, расшифровывает и распределяет голосовые заметки по соответствующим активностям поездки. Он работает на основе ML Kit Speech Recognition и GenAI Prompt API. Здесь мы также выбрали локальное решение из соображений приватности и независимости от подключения к сети.

Облачный и гибридный инференс

Интеллектуальные приложения для Android: введение в Jetpacker

Облачные и гибридные функции Jetpacker: музейный ассистент с опорой на веб-данные, гибридное создание отзывов о ресторанах и чат поддержки отеля с пользовательской маршрутизацией перевода в реальном времени.

Иногда сценарий требует модели с более широкими знаниями о мире, значительно большим окном контекста и лучшей способностью справляться со сложными задачами. В таком случае можно перейти от модели, работающей на устройстве, к облачной модели.

А если вы хотите получить преимущества обоих подходов, можно использовать гибридный инференс и динамически выбирать облачную или локальную модель во время выполнения. Это позволяет снижать расходы, перенося инференс на устройство там, где это возможно, и одновременно поддерживать все Android-устройства, на которых запускается приложение.

В Jetpacker мы реализовали несколько функций с использованием облачного или гибридного инференса:

  • Функция вопросов и ответов о местах отвечает на вопросы пользователя о конкретных локациях, опираясь на реальные данные. Она использует Firebase AI Logic с интеграцией Google Maps и веб-контекста. Здесь облачная модель необходима из-за более широких знаний о мире.
  • Функция создания отзывов помогает пользователям писать подробные отзывы о местах, которые они посетили. Она использует и локальные, и облачные модели через новый гибридный API Firebase AI Logic. Мы хотели сделать эту функцию доступной всем пользователям приложения, поэтому используем облачную модель как резервный вариант, когда локальная модель недоступна.
  • Автоматический перевод чата динамически переводит сообщения в реальном времени, обеспечивая удобное общение. Эта функция демонстрирует пользовательскую логику гибридного инференса. Мы снова хотим, чтобы она была доступна всем пользователям, но при этом учитываем особые условия выбора между локальной и облачной моделью.

Системная интеграция

Хотя эта возможность не видна непосредственно внутри приложения, интеграция с Android-системой открывает основные функции приложения напрямую для операционной системы Android. Она использует AppFunctions API для интеграции с системным интеллектом.

Агентные сценарии внутри приложения

Интеллектуальные приложения для Android: введение в Jetpacker

Ассистент бронирования показывает несколько незавершённых бронирований авиабилетов и запрашивает у пользователя ввод перед финальным оформлением.

Агентность добавляет более высокий уровень автономности и позволяет моделям действовать как агенты. Вместо одного вызова инференса агент движется к заданной цели через цикл оркестрации, в котором он может рассуждать, использовать инструменты и адаптировать свой путь. В зависимости от требований такие интеллектуальные агенты могут работать в облаке, непосредственно на устройстве или в гибридной конфигурации.

Для Jetpacker мы добавили ассистента бронирования, который автоматизирует сквозные сценарии бронирования прямо внутри приложения, упрощая оформление заказов. Он построен с использованием A2UI и ADK, работающих в облаке. Android-приложение выступает клиентской частью для многоагентной системы, запущенной в облаке.

Узнать больше

Посмотрите другие части этой серии публикаций.

Часть 1: введение в приложение и общий обзор.

Часть 2: интеллект на устройстве. Подробный разбор GenAI API из ML Kit и Gemini Nano для создания функций с приоритетом приватности: краткого изложения маршрутов, разбора чеков и локальной обработки аудио.

Часть 3: гибридное и облачное рассуждение. Разбор использования Firebase AI Logic для привязки ответов больших языковых моделей к реальным данным, таким как Google Maps и веб-контекст.

Часть 4: системная интеграция. Интеграция с интеллектуальными возможностями Android через AppFunctions.

Часть 5: агентные сценарии внутри приложения. Расширение приложения сквозным ассистентом бронирования на базе A2UI и ADK.

Если вам интересна Android-разработка, следите за Android Developers на YouTube или LinkedIn.

Источник

Если вы нашли опечатку - выделите ее и нажмите Ctrl + Enter! Для связи с нами вы можете использовать info@apptractor.ru.
Telegram

Популярное

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: