Connect with us

Разработка

Бессерверный ИИ для Android-приложений с Firebase AI Logic

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

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

/

     
     

Несколько лет назад 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-разработчикам не нужно разрабатывать бэкенд, не нужно поддерживать инфраструктуру. Это приводит к более быстрым итерациям и меньшим организационным проблемам.

Высокоуровневая архитектура

Интеграция выполняется в три простых шага:

  1. Подключение вашего Android-приложения к Firebase
  2. Инициализация генеративной модели
  3. Взаимодействие с ней через Gemini Developer API

Бессерверный ИИ для Android-приложений с Firebase AI Logic

После настройки проекта 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")
}

Затем:

  1. Создайте проект Firebase в консоли
  2. Добавьте файл google-services.json в ваше приложение
  3. Синхронизируйте, и всё готово

Вот и всё. Бэкенда не требуется.

Создание генеративной модели

Вот где 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 решает эту проблему за счет получения веб-данных в реальном времени, предоставления источников и повышения фактической точности.

Бессерверный ИИ для Android-приложений с Firebase AI Logic

Модель автоматически обрабатывает весь рабочий процесс поиска → обработки → цитирования. Это большой шаг к созданию надежных решений на основе ИИ.

3. Выполнение кода

Модель может генерировать и выполнять код на Python, обучаться на основе результатов и итеративно работать до получения окончательного ответа.

Бессерверный ИИ для Android-приложений с Firebase AI Logic

Это позволяет использовать такие сценарии, как анализ данных, проверка алгоритмов и сложные потоки рассуждений.

Гибридный инференс на устройстве

Firebase AI Logic также поддерживает гибридный вывод, отдавая предпочтение моделям на устройстве, если они доступны, и автоматически переключаясь на облачные модели при необходимости. Это обеспечивает лучшую конфиденциальность, меньшую задержку, снижение затрат и удобный пользовательский интерфейс. К сожалению, в настоящее время это доступно только в веб-версии, и мы надеемся, что эта функция будет расширена и в мобильных SDK.

Заключение

Firebase AI Logic доказывает, что работа с ИИ может быть бессерверной. Мультимодальный ИИ теперь доступен непосредственно из Android, и для расширенных функций ИИ больше не требуются бэкенд-команды. Это большой сдвиг, поскольку прототипирование ИИ фич теперь является задачей уровня Android-разработки. Как и ML Kit несколько лет назад, это один из тех инструментов, которые сегодня кажутся экспериментальными, а завтра — неотвратимыми.

Если вы хотели добавить функции ИИ в свое Android-приложение, но избегали этого из-за сложности, я рекомендую вам попробовать Firebase AI Logic.

Вы уже экспериментировали с Firebase AI Logic? Мне было бы интересно узнать о вашем опыте. Если вы экспериментируете с Firebase AI Logic или рассматриваете его для использования в продакшене, я с удовольствием обсужу подходы и компромиссы в комментариях.

Недавно я представил эту тему на конференции JavaCro25. Если вам интересно, вы можете найти полную презентацию здесь.

Источник

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

Популярное

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

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