Несколько лет назад Firebase ML Kit был совершенно новым сервисом, которому многие Android-разработчики не доверяли. Опасения по поводу стоимости, производительности и конфиденциальности тревожили всех.
В то время я работал над приложением, где сканирование штрих-кодов было ключевой функцией. Из-за масштабов использования — миллионы пользователей ежедневно сканировали штрих-коды — мы платили значительные ежегодные суммы за сторонний SDK. Когда мы предложили перейти на Firebase ML Kit, который на тот момент был бесплатным, представители бизнеса сочли это рискованным шагом.
После нескольких месяцев A/B-тестирования (также с использованием Firebase) мы полностью перешли на него. Результат? То же качество, отсутствие регрессий и нулевые затраты на лицензирование.
Этот опыт сформировал мое сегодняшнее отношение к новым сервисам Firebase. И именно поэтому Firebase AI Logic привлек мое внимание.
Цель этой статьи — показать, почему бессерверный ИИ на Android наконец-то стал практичным, и как Firebase AI Logic делает его удивительно простым.
Что такое Firebase AI Logic?
По своей сути, Firebase AI Logic — это мост между вашим Android-приложением и моделями генеративного ИИ.
Вы взаимодействуете с ИИ помощью простого SDK, а Firebase берет на себя следующие задачи:
- Вызов модели
- Аутентификация
- Инфраструктура
- Масштабирование
- Безопасность
Никакого пользовательского бэкенда. Никакой обработки токенов. Никакого шаблонного REST-кода. Для разработчиков Android это означает, что вы можете создавать прототипы функций генеративного ИИ за часы, а не за дни.
Firebase AI Logic — это генеративный, мультимодальный и бессерверный сервис. Благодаря бессерверной архитектуре Android-разработчикам не нужно разрабатывать бэкенд, не нужно поддерживать инфраструктуру. Это приводит к более быстрым итерациям и меньшим организационным проблемам.
Высокоуровневая архитектура
Интеграция выполняется в три простых шага:
- Подключение вашего Android-приложения к Firebase
- Инициализация генеративной модели
- Взаимодействие с ней через Gemini Developer API
После настройки проекта Firebase все остальное делается в коде Android.
Начало работы на Android
Добавление зависимостей Firebase с помощью BoM:
dependencies {
// Import the BoM for the Firebase platform
implementation(platform("com.google.firebase:firebase-bom:34.7.0"))
// Add the dependency for the Firebase AI Logic library
implementation("com.google.firebase:firebase-ai")
}
Затем:
- Создайте проект Firebase в консоли
- Добавьте файл
google-services.jsonв ваше приложение - Синхронизируйте, и всё готово
Вот и всё. Бэкенда не требуется.
Создание генеративной модели
Вот где Firebase AI Logic действительно проявляет себя во всей красе. После настройки Firebase подключение к генеративной модели становится простым:
fun createGenerativeModel(): GenerativeModel =
Firebase.ai(backend = GenerativeBackend.googleAI())
.generativeModel(
modelName = "gemini-3-flash-preview",
generationConfig = generationConfig {
responseModalities = listOf(TEXT)
},
safetySettings = listOf(
SafetySetting(HATE_SPEECH, MEDIUM_AND_ABOVE)
),
systemInstruction = content { "You are a banking app. " +
"The user records an audio message specifying an action (pay, split, or request money), " +
"the amount in Swiss francs, and the recipient." +
"A transaction reason may be included optionally."
}
)
С помощью нескольких строк кода на Kotlin вы можете:
- Выбрать модель Gemini
- Определить типы выходных данных (текст, изображение, аудио)
- Применить фильтры безопасности
- Придать модели четкий профиль
- Включить расширенные инструменты (например, поиск Google или выполнение кода)
Никаких токенов. Никаких HTTP-клиентов. Только структурированный Kotlin.
Поддерживаемые модели Gemini
Firebase AI Logic предоставляет доступ к широкому спектру моделей Gemini:
- Gemini Pro → глубина и точность
- Gemini Flash → скорость
- Flash Lite → низкая задержка
- Модели генерации изображений → преобразование текста в изображение
- Модели в реальном времени → потоковая передача текста и аудио с низкой задержкой
Выбор правильной модели — это решение, зависящее от UX: скорость против стоимости против качества.
Основы настройки модели
generationConfig {
temperature = 0.2f
stopSequences = listOf("\n")
responseModalities = listOf(TEXT)
}
Ключевые понятия:
- Температура контролирует случайность (более низкая температура = детерминированный результат, более высокая температура = более творческий результат)
- Последовательности остановок определяют правила завершения
- Модальность ответа определяет формат выходных данных
Настройки безопасности (управление выходными данными)
Настройки безопасности позволяют фильтровать выходные данные модели, а не то, что она анализирует.
Вы можете контролировать такие категории, как язык ненависти, домогательства или непристойный контент. И выбирать пороговые значения — низкий и выше, средний и выше или высокий и выше.
Это критически важно для приложений, используемых в производственной среде, особенно для тех, которые ориентированы на потребителей.
Системные инструкции: определение поведения
Системные инструкции определяют, кем является модель и как она себя ведет.
Примеры:
- Вы — помощник в IDE
- Возвращать только код Java
- Быть формальным и нейтральным
Они помогают обеспечить:
- Предсказуемый результат
- Последовательный тон
- Структурированные ответы
Это одна из самых мощных (и недооцененных) функций.
Инструменты: подключение ИИ к реальным системам
Firebase AI Logic поддерживает расширенные инструменты, такие как:
1. Вызов функций
Позвольте модели вызывать ваши внутренние API:
FunctionDeclaration(
EXECUTE_TRANSACTION_FUNCTION_NAME,
"Execute transaction with extracted parameters",
mapOf(
EXECUTE_TRANSACTION_FUNCTION_ACTION_PARAM to Schema.string("Send, receive or split money."),
EXECUTE_TRANSACTION_FUNCTION_RECIPIENT_PARAM to Schema.string("The person involved in the transaction."),
EXECUTE_TRANSACTION_FUNCTION_AMOUNT_PARAM to Schema.string("The amount of the transaction."),
EXECUTE_TRANSACTION_FUNCTION_REASON_PARAM to Schema.string("The description of the transaction.")
)
В нашем случае входными данными является аудиофайлы. Модель сначала извлекает намерение пользователя и ключевые параметры. Как только она определяет, что запрошена транзакция и присутствуют все необходимые параметры, Firebase AI Logic сопоставляет запрос с объявленной функцией и вызывает нашу реализацию.
Затем ответ от нашего внутреннего API передается обратно в модель для генерации окончательного ответа для пользователя.
Это отличный пример сочетания ИИ с реальной бизнес-логикой, а не просто с разговорным интерфейсом.
2. Использование Google Search в качестве основы
Одним из основных ограничений моделей LLM является ограничение доступа к знаниям.
Использование Google Search решает эту проблему за счет получения веб-данных в реальном времени, предоставления источников и повышения фактической точности.
Модель автоматически обрабатывает весь рабочий процесс поиска → обработки → цитирования. Это большой шаг к созданию надежных решений на основе ИИ.
3. Выполнение кода
Модель может генерировать и выполнять код на Python, обучаться на основе результатов и итеративно работать до получения окончательного ответа.
Это позволяет использовать такие сценарии, как анализ данных, проверка алгоритмов и сложные потоки рассуждений.
Гибридный инференс на устройстве
Firebase AI Logic также поддерживает гибридный вывод, отдавая предпочтение моделям на устройстве, если они доступны, и автоматически переключаясь на облачные модели при необходимости. Это обеспечивает лучшую конфиденциальность, меньшую задержку, снижение затрат и удобный пользовательский интерфейс. К сожалению, в настоящее время это доступно только в веб-версии, и мы надеемся, что эта функция будет расширена и в мобильных SDK.
Заключение
Firebase AI Logic доказывает, что работа с ИИ может быть бессерверной. Мультимодальный ИИ теперь доступен непосредственно из Android, и для расширенных функций ИИ больше не требуются бэкенд-команды. Это большой сдвиг, поскольку прототипирование ИИ фич теперь является задачей уровня Android-разработки. Как и ML Kit несколько лет назад, это один из тех инструментов, которые сегодня кажутся экспериментальными, а завтра — неотвратимыми.
Если вы хотели добавить функции ИИ в свое Android-приложение, но избегали этого из-за сложности, я рекомендую вам попробовать Firebase AI Logic.
Вы уже экспериментировали с Firebase AI Logic? Мне было бы интересно узнать о вашем опыте. Если вы экспериментируете с Firebase AI Logic или рассматриваете его для использования в продакшене, я с удовольствием обсужу подходы и компромиссы в комментариях.
Недавно я представил эту тему на конференции JavaCro25. Если вам интересно, вы можете найти полную презентацию здесь.

