API GenAI в ML Kit используют возможности Gemini Nano, чтобы помогать вашим приложениям выполнять задачи генеративного ИИ на устройстве. Эти API созданы на основе AICore – системного сервиса Android, который управляет базовыми моделями на устройстве и ускоряет инференс, обеспечивая конфиденциальность пользовательских данных.
К использованию GenAI API применяются Дополнительные условия использования ML Kit GenAI API. Разработчики несут полную ответственность за безопасность своего API-клиента и удобство использования приложения.
Основные возможности
ML Kit организует свои возможности GenAI по следующим категориям:
Специальные агенты и генерация
Работайте напрямую с базовой моделью Gemini Nano, чтобы создавать собственные запросы и автономные агентные рабочие процессы.
- Прямой доступ к модели (с помощью класса
GenerativeModel). Генерируйте текст или типизированные структурированные выходные данные на основе текстовых или мультимодальных запросов. Вы также можете управлять историей чата, используя объектList<Content>с ролямиUSERиMODELи значениемsessionId, и декларациями инструментов. - Рабочие процессы агентов (с использованием класса
AgentRunner). Они создаются на основе классаGenerativeModelи автоматизируют управление многоэтапными сеансами (включая историю чата в памяти) и многошаговые циклы вызова инструментов.
Речь и аудио
Расшифровывайте, переводите и синтезируйте речь на устройстве:
- Распознавание речи. Преобразование голосового аудиоконтента в текст на том же языке.
- Перевод речи. Переводите голосовое аудио в текст на другом языке в реальном времени.
- Синтез речи. Преобразование текста в речь с естественным звучанием.
Задачи с текстом и изображениями
Используйте API, оптимизированные для распространенных задач, связанных с изображениями, текстом и поиском, без составления запросов:
- Описание изображения. Создание краткого описания для заданного изображения.
- Обобщение. Создавайте краткие пересказы статей или чатов в виде маркированного списка.
- Проверка правописания. Исправляйте грамматические и орфографические ошибки в коротких текстах.
- Переписывание. Переписывайте короткие сообщения в разных стилях.
- Семантический поиск. Создавайте векторные встраивания для текста и изображений с помощью Embedding API и связывайте их с AndroidX AppSearch, чтобы находить контент по смыслу.
Преимущества API генеративного ИИ
Как и другие существующие функции ML Kit, API GenAI работают полностью на устройстве и, таким образом, обеспечивают следующие преимущества:
- Входные данные, выводы и выходные данные обрабатываются локально.
- Функциональность не зависит от стабильности подключения к интернету.
- Нет дополнительных расходов на сервер для каждого вызова API.
Кроме того, поскольку API GenAI созданы на основе AICore и работают на базе Gemini Nano, приложения и API для конкретных задач используют одну и ту же базовую модель Gemini Nano на устройстве. Это позволяет не ждать загрузки отдельной модели, если Gemini Nano уже есть на устройстве, и экономит место в хранилище. Подробнее о том, как AICore изолирует запросы для защиты конфиденциальности…
Потоковая передача и другие способы
API ML Kit GenAI предлагают как потоковые, так и непотоковые варианты получения результаты. API потоковой передачи предоставляет ответы постепенно по мере их генерации, обеспечивая непрерывный поток данных. В отличие от этого, API без потоковой передачи ожидает завершения всего ответа, прежде чем вернуть его в виде единого блока.
Для длинных ответов выбирайте потоковый API, так как он позволяет быстрее получить первоначальный ответ. API без потоковой передачи больше подходит для коротких ответов или пакетной обработки результатов.
Служба поддержки устройства
Поддержка устройств для пользовательской генерации, агентов и Tasks API с текстом и изображениями описана в следующих разделах. Если функция не указана в этом разделе, информацию о поддержке устройств можно найти на странице этой функции.
Поддержка пользовательских поколений и устройств агентов
Прямой доступ к модели и рабочие процессы с агентами поддерживаются на следующих устройствах:
nano-v2 |
|
nano-v3 |
|
nano-v4 |
|
Поддержка устройств для задач с текстом и изображениями
API описания изображений, краткого пересказа, проверки правописания и переписывания доступны на перечисленных ниже устройствах. В будущем мы планируем расширить поддержку.
- Google: Pixel 11, Pixel 11 Pro, Pixel 11 Pro XL, Pixel 11 Pro Fold, Pixel 10, Pixel 10 Pro, Pixel 10 Pro XL, Pixel 10 Pro Fold, Pixel 9, Pixel 9 Pro, Pixel 9 Pro XL, Pixel 9 Pro Fold.
- Honor: Honor 400 Pro, Magic 7, Magic 7 Pro, Magic 8 Pro, Magic V5
- iQOO: iQOO 13, iQOO 15.
- Lenovo: Lenovo Idea Tab Pro Gen 2, Lenovo Legion Tab Gen 5(8,8 дюйма)
- Motorola: Razr 60 Ultra, Razr Ultra 2025, Signature.
- OnePlus: OnePlus 15, OnePlus 15R, OnePlus 13, OnePlus 13s.
- OPPO: Find N5, Find X9, Find X9 Pro, Find X8, Find X8 Pro, Reno 14 Pro 5G, Reno 15 Pro 5G, Reno 15 Pro Mini 5G, Reno 15 Pro Max 5G.
- POCO: POCO F7 Ultra, POCO F8 Pro, POCO F8 Ultra, POCO X7 Pro, POCO X8 Pro.
- realme: realme GT 7 Pro, realme GT 7T.
- Samsung: Galaxy S25, Galaxy S25+, Galaxy S25 Ultra, Galaxy S26, Galaxy S26+, Galaxy S26 Ultra, Galaxy Z Flip8, Galaxy Z Fold8, Galaxy Z Fold8 Ultra, Galaxy Z Fold7, Galaxy Z TriFold.
- Sharp: AQUOS R11
- Sony Xperia 1 VIII
- Vivo: Vivo X200T, Vivo X200 FE, Vivo X200, Vivo X200 Pro, Vivo X300, X300 Pro, Vivo X Fold3 Pro, Vivo X Fold5, Vivo T4 Ultra.
- Xiaomi: Xiaomi 14T Pro, Xiaomi 15, Xiaomi 15T, Xiaomi 15T Pro, Xiaomi 15 Ultra, Xiaomi 17, Xiaomi 17 Ultra, Xiaomi Pad Mini.
Доступность поддержки определенных языков может зависеть от конфигурации устройства и скачанных на него моделей.
Как получить версию Gemini Nano
На разных устройствах работают разные версии Gemini Nano. Чтобы вернуть версию Gemini Nano на устройстве, используйте метод getBaseModelName().
Квота на приложение
AICore устанавливает квоту на инференс для каждого приложения. Если за короткий период времени будет отправлено слишком много запросов к GenAI API, будет возвращен ответ ErrorCode.BUSY. Если вы получили такую ошибку, попробуйте отправить запрос повторно, используя экспоненциальную выдержку. Кроме того, ошибка ErrorCode.PER_APP_BATTERY_USE_QUOTA_EXCEEDED может возникать, если приложение превышает долгосрочную квоту (например, дневную).
Использование в фоновом режиме
Вызов GenAI API разрешен, только когда приложение находится на переднем плане. Если использовать API, когда приложение неактивно, в том числе при работе активной службы, будет возвращен ответ ErrorCode.BACKGROUND_USE_BLOCKED.
Образец кода
Чтобы получить этот код, ознакомьтесь со следующими примерами: