Когда вы будете готовы запустить свое приложение и позволить реальным конечным пользователям взаимодействовать с функциями искусственного интеллекта, обязательно ознакомьтесь с этим контрольным списком лучших практик и важных моментов.
Общий
Ознакомьтесь с общим контрольным списком запуска.
Перед запуском любого приложения Firebase в рабочую среду ознакомьтесь с контрольным списком запуска Firebase , содержащим важные рекомендации.
Следуйте лучшим практикам для проектов Firebase.
Используйте отдельные проекты Firebase для разработки, тестирования и продакшена. Ознакомьтесь с дополнительными рекомендациями по управлению проектами .
Доступ и безопасность
Проверьте контрольные списки безопасности.
Ознакомьтесь с контрольным списком безопасности Firebase и специальным контрольным списком безопасности для Firebase AI Logic, чтобы узнать о важных рекомендациях по обеспечению доступа и безопасности.
Принудительное выполнение Firebase App Check
Включите Firebase App Check , чтобы защитить API Gemini от злоупотреблений при прямом вызове из вашего приложения. При включенной App Check подтверждается, что входящие запросы исходят из вашего подлинного приложения и/или с неподготовленного устройства.
App Check поддерживает поставщиков аттестации для платформ Apple (DeviceCheck, App Attest или reCAPTCHA Enterprise ), Android (Play Integrity или reCAPTCHA Enterprise ) и веб-приложений ( reCAPTCHA Enterprise ). Он также поддерживает все эти поставщики для приложений Flutter и Unity.
Также стоит рассмотреть возможность внедрения защиты от повторного воспроизведения , что означает, что токены используются только один раз . Эта опция обеспечивает расширенную защиту по сравнению с базовой и позволяет установить соответствующий уровень защиты для вашего приложения и сценариев использования.
Настройте ограничения для ваших ключей API Firebase.
Ключи API Firebase идентифицируют ваш проект и приложение Firebase при отправке запросов. Чтобы предотвратить несанкционированное использование ваших ключей API:
В консоли Google Cloud установите параметр «Ограничения приложения» , чтобы ограничить использование ключа только запросами от конкретного идентификатора пакета вашего приложения (Apple), имени пакета и отпечатка SHA-1 (Android) или HTTP-реферера (Web).
Проверьте список разрешенных «ограничений API» для каждого ключа:
- Убедитесь, что Firebase AI Logic API (
firebasevertexai.googleapis.com) находится в списке разрешенных сайтов. - Убедитесь, что в списке разрешенных API указаны только те сервисы Firebase, которые необходимы вашему приложению. Список необходимых API для ключей Firebase с ограничениями см. в соответствующем разделе.
- Убедитесь, что Firebase AI Logic API (
Обратите внимание, что API-ключи, связанные с Firebase, используются только для идентификации проекта или приложения Firebase, а не для авторизации вызова API.
Ограничить обработку запросов только авторизованными пользователями.
Рекомендуется включить режим аутентификации пользователей , чтобы все запросы через Firebase AI Logic содержали действительные учетные данные из Firebase Authentication . Если запрос поступает от неаутентифицированного пользователя, он отклоняется с ошибкой 401: unauthenticated .
Мониторинг, лимиты и выставление счетов
Настройте мониторинг ИИ в консоли Firebase
Настройте мониторинг ИИ в консоли Firebase , чтобы получить представление о ключевых показателях производительности, таких как количество запросов, задержка, использование токенов и частота ошибок. Вы также можете просмотреть отдельные трассировки в консоли Google Cloud .
Устанавливайте лимиты трафика и управляйте квотами.
Защитите свой проект от неожиданных всплесков использования и атак типа «отказ в доступе к кошельку»:
- Установите ограничения на количество запросов для каждого пользователя (по умолчанию 100 запросов в минуту), чтобы предотвратить чрезмерное потребление квоты отдельными экземплярами клиента.
- Просматривайте и управляйте квотами проекта в консоли Google Cloud для каждого базового API.
Избегайте неожиданных счетов с помощью оповещений и ограничений на расходы.
Если ваш проект Firebase использует тарифный план Blaze с оплатой по мере использования:
Управление конфигурациями
Используйте стабильную версию модели в своем рабочем приложении.
В рабочем приложении используйте только стабильные версии (например, gemini-3.7-flash ). Не используйте предварительные или экспериментальные версии.-latest псевдоним.
Используйте Firebase Remote Config или шаблоны командной строки сервера.
При использовании Remote Config или шаблонов серверных запросов вы можете управлять важными настройками функций ИИ вашего приложения в облаке (на стороне сервера), а не жестко задавать значения в коде. Это означает, что вы можете обновлять свои конфигурации без выпуска новой версии приложения.
(Настоятельно рекомендуется) Вносите изменения в название модели, используемой для вашей функции ИИ, по мере выпуска новых моделей или отключения существующих. Подробности об использовании Remote Config или шаблонов командной строки сервера см. в соответствующем разделе.
(Необязательно) Динамическое и даже условное управление другими параметрами вашей функции ИИ, например, конфигурацией модели (например, максимальным количеством выходных токенов), настройками безопасности, системными инструкциями и данными подсказок. Подробности об использовании Remote Config или шаблонов подсказок сервера см. в соответствующем разделе.
(Необязательно) Установите параметр
minimum_versionв Remote Config , чтобы сравнить текущую версию приложения с последней версией, определенной в Remote Config , и либо показать пользователям уведомление об обновлении, либо принудительно заставить их обновить приложение.
Укажите место для доступа к модели.
| Доступно только при использовании API Agent Platform Gemini (ранее Vertex AI) в качестве поставщика API. |
Укажите место доступа к модели , чтобы оптимизировать использование квот и предотвратить задержки для пользователей.
Если местоположение не указано, по умолчанию используется global (при использовании нового синтаксиса инициализации "Agent Platform"). Вы можете задать это местоположение во время инициализации или, при желании , использовать Firebase Remote Config для динамического изменения местоположения в зависимости от местоположения каждого пользователя .