Это руководство поможет вам найти подходящее решение на основе ИИ или машинного обучения для вашего случая использования. В нем вы найдете рекомендации по выбору подходящего решения с учетом требований к функции, которую вы хотите реализовать.
В целом, выбирая инструменты и модели для реализации функции ИИ/ML, вы должны использовать самую простую модель, которая соответствует вашим потребностям. Чтобы определить оптимальное решение, вам нужно продумать следующее:
- Должна ли функция генерировать новый контент (генеративный ИИ) или прогнозировать/классифицировать детерминированным образом (традиционное машинное обучение)?
- Область применения функции. Можно ли выполнить задачу полностью в вашем приложении (интеллектуальные функции в приложении) или для этого требуется несколько приложений (интеллектуальные функции на уровне системы)?
- Расположение модели. Можно ли выполнить задачу офлайн (модель на устройстве) или требуется взаимодействие с сервером (облачная модель)?
- Версия набора инструментов или модели. Насколько сложна задача? Это может быть как простая задача с одним выводом, так и мультиагентная оркестрация.
На следующей блок-схеме показан процесс принятия решений на высоком уровне:
Чтобы принять решение на каждом этапе, обратитесь к разделам в оставшейся части этого документа.
Генеративный ИИ и традиционное машинное обучение
Модели генеративного ИИ создают новый контент, тогда как традиционные модели машинного обучения прогнозируют результаты или классифицируют данные полностью детерминированным образом. Если ваша функция не предполагает генерацию нового контента, то традиционных решений ML может быть достаточно. В таблице ниже приведены некоторые традиционные решения на основе машинного обучения.
| Инструменты и решения | Тип | Основной пример использования | Примеры |
|---|---|---|---|
| ML Kit SDK | Только с устройства | Готовые задачи для обработки изображений и естественного языка |
|
| LiteRT | Только с устройства | Среды выполнения пользовательских моделей |
|
| MediaPipe | Только с устройства | Задачи по распознаванию видео- или аудиопотока в реальном времени. |
|
| Google Cloud API, включая Cloud Vision API и Cloud Natural Language API. | Облачные | Готовые задачи для обработки изображений и естественного языка |
|
| Платформа агента | Облачные | Обучение и развертывание пользовательской модели |
|
Остальная часть этого документа посвящена решениям на основе генеративного ИИ.
ИИ в приложении и на уровне системы
Чтобы выбрать оптимальное решение на основе генеративного искусственного интеллекта, определите, работает ли ваша ИИ-функция полностью в приложении или ей требуется взаимодействовать с другими приложениями или ОС Android. Если функция запускается системой, а не приложением, она считается ИИ-функцией на уровне системы. В таблице ниже приведены различия между функциями искусственного интеллекта в приложениях и на уровне системы.
| Умные функции в приложении | Системные ИИ-функции | |
|---|---|---|
| Область действия задачи | Приложения | В разных приложениях (или запущенные системой, вне приложений) |
| Инструменты | ML Kit SDK, LiteRT, Firebase AI Logic или собственный сервер | AppFunctions |
| Примеры использования |
|
|
Умные функции в приложении
Функции искусственного интеллекта в приложении не должны взаимодействовать с другими приложениями или системой. Если вы решили, что ИИ-функция будет работать только в приложении, определите, будет ли она выполняться полностью на устройстве, использовать облачную модель или сочетать оба подхода.
Если вам нужно использовать видео или выполнять задачи с несколькими агентами, используйте облачную модель. В таблице ниже сравниваются возможности моделей на устройстве и облачных моделей.
| Только с устройства | Cloud | |
|---|---|---|
| Инструменты | ML Kit SDK или LiteRT | Firebase AI Logic или собственный сервер |
| Тип исходных материалов |
|
|
| Тип выходных данных |
|
|
| Конфиденциальность пользовательских данных | Более высокое | Низкий |
| Модели |
|
|
| Примеры использования |
|
|
Модели на устройстве
Модели на устройстве предпочтительны, если:
- Ограничения по расходам
- Функция должна работать в офлайн-режиме
- Требования конфиденциальности
- Задача относительно проста и не требует координации нескольких агентов.
Учтите, что устройства пользователей должны поддерживать локальные модели. Для работы моделей на устройстве обычно требуются более мощные устройства, которые могут поддерживать локальную обработку.
Если вы решили, что для вашей функции достаточно моделей на устройстве, то выбор оптимального набора инструментов или решения зависит в первую очередь от сложности задачи. В таблице ниже перечислены варианты инструментов генеративного ИИ, работающих на устройстве и в приложении.
| Сложность задачи | Характеристики функции | Пример | Набор инструментов/решение |
|---|---|---|---|
| Низкий |
|
Кратко пересказать текст |
|
| Средний |
|
Запрос и ответ | |
| Высокий |
|
Отзывы клиентов или сортировка ошибок |
Используйте ML Kit Prompt API для простой одно- или многоэтапной генерации текста. Если для работы функции требуется автономное многоэтапное выполнение на устройстве, используйте ML Kit GenAI Agent API. Agent API поддерживает циклы рассуждений на устройстве, которые могут планировать, вызывать типизированные инструменты с помощью аннотаций @Tool, сохранять контекст сеанса между взаимодействиями и применять ограничения на количество ходов с помощью maxTurns.
Облачные модели
Если функция не может работать полностью на устройстве, вам нужно использовать облачную модель. Есть два основных варианта использования облачной модели:
Управляемый бэкенд с помощью Firebase AI Logic. Если вы уже используете Firebase или хотите быстро создать прототип, Firebase AI Logic может стать лучшим решением.
Собственный сервер. Если вы хотите использовать модели, отличные от Gemini, у вас строгие требования к конфиденциальности или вам нужно выполнить очень сложную задачу, вам, вероятно, потребуется использовать собственный бэкэнд. Для настройки собственного бэкенда мы также рекомендуем следующие инструменты:
- Запустите на своем сервере фреймворк для агентов, например Agent Development Kit.
- Подключите интерфейс приложения к серверному коду агента с помощью AG-UI.
- Разрешите агентам генерировать интерактивные интерфейсы с помощью A2UI.
В таблице ниже указано, когда следует использовать Firebase AI Logic, а когда – собственный сервер для облачных инструментов генеративного ИИ в приложении.
| Сложность задачи | Характеристики функции | Пример | Набор инструментов/решение |
|---|---|---|---|
| Низкий |
|
Кратко пересказать текст |
|
| Средний |
|
Запрос и ответ |
|
| Высокий |
|
Отзывы клиентов или сортировка ошибок |
|
| Очень много |
|
Создайте команду агентов для управления разными аспектами поездки |
|
Гибридный подход
Используйте гибридный подход, если ваша функция может работать локально, но не у всех ваших пользователей есть устройства, поддерживающие модели на устройстве, и вам необходимо использовать облачные модели в качестве резервного варианта. Подробнее о гибридном выводе…
Системные ИИ-функции
ИИ на уровне системы позволяет платформе Android выступать в качестве оркестратора задач. ИИ на уровне системы позволяет системным агентам, таким как Gemini, выполнять запросы пользователей в нескольких приложениях и веб-сервисах.
Чтобы подключить приложение к системе Android Intelligence, выберите метод интеграции в зависимости от того, хотите ли вы использовать программное управление или автоматические действия на основе пользовательского интерфейса:
| Вариант интеграции | Пример использования |
|---|---|
| AppFunctions | Предоставьте агентам доступ к определенным функциям приложения, чтобы они могли находить и выполнять их на устройстве. |
| Удаленный MCP-сервер | Предоставьте доступ к определенным функциям приложения, чтобы интегрировать их напрямую с бэкендом агента. Подходит для кросс-платформенной разработки. |
| Управление компьютером | Позволяет предустановленному помощнику автоматизировать задачи, напрямую взаимодействуя с интерфейсом приложения. |
Дополнительную информацию о системных инструментах ИИ можно найти в статье Как подключить приложение к системе ИИ Android.