Вы можете создавать приложения и функции для устройств Apple на основе ИИ с гибридным выводом, используя Firebase AI Logic. Гибридный инференс позволяет выполнять инференс с помощью моделей на устройстве (в частности, фреймворка Apple Foundation Models), когда они доступны, и плавно переключаться на облачные модели Google в противном случае (и наоборот).
На этой странице описано, как начать работу с клиентским SDK, а также показаны дополнительные параметры конфигурации и возможности, такие как температура.
Обратите внимание, что инференс на устройстве с помощью Firebase AI Logic поддерживается для приложений Apple, использующих SDK Firebase AI Logic версии 12.13.0 или более поздней и работающих на устройствах с включенной функцией Apple Intelligence. Она регулируется требованиями к допустимому использованию фреймворка Foundation Models от Apple.
Рекомендуемые варианты использования
Использование локальной модели для логического вывода дает следующие преимущества:
- Повышенная конфиденциальность
- Бесплатный вывод
- Офлайн-функции
Использование гибридных функций позволяет:
- Обеспечить одинаковое удобство использования приложения для всех клиентов независимо от их устройств.
- Улучшить доступность функций на основе генеративного ИИ независимо от подключения к интернету, ограничений квот и возможностей устройства.
Поддерживаемые функции, API и устройства
Прежде чем реализовывать гибридный и локальный инференс с помощью Firebase AI Logic, ознакомьтесь с этим разделом, чтобы узнать, что поддерживается для приложений Apple.
Поддерживаемые возможности и функции для локального вывода
Вывод на устройстве поддерживает только генерацию текста, а именно следующие возможности:
Обязательно ознакомьтесь с подробным списком пока не поддерживаемых гибридных моделей и моделей на устройстве внизу этой страницы.
Поддерживаемые API и устройства
Для облачного вывода используется выбранный вами поставщик Gemini API (Gemini Developer API или Agent Platform Gemini API (formerly Vertex AI)).
Для вывода на устройстве используется фреймворк Foundation Models от Apple, который доступен только на устройствах с включенным Apple Intelligence. Модель на устройстве скачивается автоматически, когда включена функция Apple Intelligence.
Начать
Убедитесь, что вы ознакомились с разделом выше, в котором описаны поддерживаемые возможности, API и устройства.
В этом разделе описаны общие действия, которые нужно выполнить, чтобы отправить любой поддерживаемый запрос.
Шаг 1. Настройте проект Firebase и подключите к нему приложение
Войдите в консоль Firebase и выберите проект Firebase.
В консоли Firebase выберите AI Services (Сервисы ИИ) > AI Logic (Логика ИИ).
Нажмите Начать, чтобы запустить пошаговый процесс настройки необходимых API и ресурсов для проекта.
Если появится запрос, следуйте инструкциям на экране, чтобы зарегистрировать приложение и добавить в него конфигурацию Firebase.
Когда вам будет предложено выбрать поставщика Gemini API, рекомендуем выбрать Gemini Developer API. Это позволит вам быстро начать работу без дополнительных затрат.
Вы можете в любой момент настроить Agent Platform Gemini API (formerly Vertex AI) (и требование к платежным данным).
Продолжите настройку необходимых API и связанных сервисов для Firebase AI Logic.
С начала июля 2026 года на этом этапе рабочего процесса автоматически включается Firebase App Check для AI Logic. Это критически важный сервис, который помогает защитить Gemini API при прямом доступе из приложения. В рамках подготовки (см. шаги ниже) вам нужно будет настроить отладочный поставщик App Check для локальной разработки, когда App Check включен.
Перейдите к следующему шагу этого руководства, чтобы добавить в приложение необходимые SDK.
Шаг 2. Добавьте все необходимые SDK
Для установки зависимостей Xcode и управления ими используйте Swift Package Manager (SPM). Гибридная поддержка доступна только при использовании SPM.
Библиотека Firebase AI Logic предоставляет доступ к API для взаимодействия с генеративными моделями. Библиотека входит в состав Firebase SDK для платформ Apple (firebase-ios-sdk).
Если вы уже используете Firebase, убедитесь, что у вас установлена версия 12.13.0 или более поздняя.
Откройте проект приложения в Xcode и перейдите в меню File (Файл) > Add Package Dependencies (Добавить зависимости пакетов).
Когда появится запрос, добавьте хранилище Firebase SDK для платформ Apple:
https://github.com/firebase/firebase-ios-sdkВыберите последнюю версию SDK.
Выберите библиотеки
FirebaseAILogicиFirebaseAppCheck.
После этого Xcode автоматически начнет распознавать и скачивать зависимости в фоновом режиме.
Шаг 3. Настройте отладочный поставщик App Check для локальной разработки
С начала июля 2026 года в рамках пошаговой настройки AI Logic в консоли будет автоматически применяться Firebase App Check для защиты Gemini API. Для локальной разработки необходимо настроить App Check отладочный поставщик, чтобы обойти проверку, сохраняя при этом принудительное применение App Check.
Вот как использовать отладочный поставщик при интерактивном запуске приложения в симуляторе (например, во время локальной разработки):
В проекте Xcode импортируйте
FirebaseAppCheckи инициализируйте App Check с помощью фабрики отладочных поставщиков до настройкиFirebase.import SwiftUI import FirebaseCore import FirebaseAppCheck @main struct YourApp: App { init() { let providerFactory = AppCheckDebugProviderFactory() AppCheck.setAppCheckProviderFactory(providerFactory) FirebaseApp.configure() } var body: some Scene { WindowGroup { NavigationView { ContentView() } } } }Получите токен отладки:
Запустите приложение в симуляторе или на тестовом устройстве.
Откройте консоль Xcode и найдите токен отладки App Check. Пример:
<Warning> [AppCheckCore][I-GAC004001] App Check debug token: '123a4567-b89c-12d3-e456-789012345678'.Скопируйте токен (например,
123a4567-b89c-12d3-e456-789012345678).
Зарегистрируйте токен отладки в App Check:
В консоли Firebase перейдите в раздел Security (Безопасность) > App Check (Проверка приложений) > Apps (Приложения).
Найдите свое приложение, нажмите на значок дополнительного меню () и выберите Управление токенами отладки.
Зарегистрируйте токен отладки, следуя инструкциям на экране.
Подробную информацию об отладочном поставщике, в том числе о том, как получить новый токен отладки, можно найти в официальной документации App Check.
Шаг 4. Инициализируйте сервис и создайте экземпляр сеанса модели
|
Нажмите на название своего поставщика Gemini API, чтобы посмотреть контент и код, относящиеся к нему. |
Прежде чем отправлять запрос модели, настройте следующее:
Инициализируйте сервис для выбранного поставщика Gemini API.
Создайте экземпляр
GenerativeModelSessionсHybridModel.Задайте модели
primaryиsecondaryв соответствии со своими предпочтениями. Вы можете задать порядок, в котором будут выполняться попытки вывода:Сначала попытаться выполнить вывод на устройстве, но разрешить резервный вариант в облаке. Задайте для
primaryсистемную модель, а дляsecondary– облачную.Попытаться сначала выполнить вывод в облаке, но разрешить резервный вариант на устройстве. Установите для
primaryоблачную модель, а дляsecondary– системную.
Обратите внимание, что SDK поддерживает настройку только одного
model. Это означает, что SDK будет пытаться выполнить вывод только на устройстве или в облаке. Однако для гибридного режима необходимо создатьHybridModelи задать моделиprimaryиsecondary.Подробнее о том, как работают режимы инференса (порядок попыток инференса), рассказывается в разделе Настройки.
В следующем примере показано, как сначала попытаться выполнить инференс на устройстве, но разрешить возврат к модели, размещенной в облаке:
// Initialize the Gemini Developer API backend service.
let ai = FirebaseAI.firebaseAI(backend: .googleAI())
// Initialize a cloud model that supports your use case.
let cloudModel = ai.geminiModel(name: "GEMINI_MODEL_NAME")
// Initialize an on-device model that supports your use case.
let systemModel = FirebaseAI.SystemLanguageModel.default
// Create a Hybrid Model.
// Provide your preferred model as `primary` and your fallback model as `secondary`.
// In this example, attempt to use on-device model; otherwise, fall back to cloud.
let hybridModel = HybridModel(
primary: systemModel,
secondary: cloudModel
)
// Create a GenerativeModelSession with the HybridModel created earlier.
let session = firebaseAI.generativeModelSession(
model: hybridModel,
)
Шаг 5. Отправьте запрос модели
В этом разделе рассказывается, как:
- Генерирование текста на основе текстового запроса
- Потоковая передача текста из текстовых входных данных
Как генерировать текст на основе текстового запроса
| Прежде чем использовать этот пример, убедитесь, что вы выполнили инструкции из раздела Начало работы этого руководства. |
Чтобы сгенерировать текст на основе текстового запроса, используйте respond(to:) следующим образом:
// Imports + initialization of Gemini API backend service + creation of model session
// Provide a prompt that contains text
let prompt = "Write a story about a magic backpack."
// To generate text output, call `respond(to:)` with the text input
let response = try await session.respond(to: prompt)
print(response.content)
Потоковая передача текста из текстовых входных данных
| Прежде чем использовать этот пример, убедитесь, что вы выполнили инструкции из раздела Начало работы этого руководства. |
Чтобы ускорить взаимодействие, вы можете не ждать, пока модель сгенерирует весь результат, а использовать потоковую передачу для обработки частичных результатов. Чтобы транслировать сгенерированный текст из запроса, содержащего текст, используйте streamResponse(to:), как показано ниже.
// Imports + initialization of Gemini API backend service + creation of model session
// Provide a prompt that contains text
let prompt = "Write a story about a magic backpack."
// To stream generated text output, call `streamResponse(to:)` with the text input
let stream = session.streamResponse(to: prompt)
for try await snapshot in stream {
print(snapshot.content)
}
Что ещё ты умеешь делать?
Для гибридных экспериментов можно использовать различные дополнительные параметры конфигурации и возможности:
Определите, где выполнялся вывод: на устройстве или в облаке.
Используйте конфигурацию модели, чтобы управлять ответами (например, температурой).
Функции, которые пока не поддерживаются для гибридного вывода и вывода на устройстве
Поскольку это экспериментальная версия, поддерживаются не все возможности Firebase AI Logic и облачных моделей.
Гибридные и локальные реализации не поддерживают шаблоны Gemini Live API и шаблоны запросов к серверу. Кроме того, не следует полагаться на подсчет токенов, поскольку он будет различаться для облачных и локальных моделей, поэтому интуитивно понятного резервного варианта нет.
Следующие функции пока не поддерживаются для инференса на устройстве: Если вы хотите использовать любую из этих функций, мы рекомендуем использовать только облачную модель для более стабильной работы.
Генерировать текст на основе мультимодальных входных данных, таких как изображения, аудио, видео и документы (PDF).
Генерировать медиаконтент, например изображения, аудио или видео.
Отправка запросов, содержащих более 4096 токенов (примерно 3000 слов на английском языке).
Предоставление модели на устройстве встроенных инструментов, которые помогают ей генерировать ответы (например, выполнение кода, URL-контекст и обоснование с Google Поиском).
ИИ-мониторинг в консоли Firebase не показывает данные о локальном выводе (включая локальные журналы). Однако любой инференс, в котором используется облачная модель, можно отслеживать так же, как и другие инференсы, с помощью Firebase AI Logic.
Дополнительные ограничения
Помимо перечисленного выше, у локального инференса есть следующие ограничения:
Конечный пользователь вашего приложения должен использовать устройство с включенной функцией Apple Intelligence.
Приложение может выполнять вывод на устройстве, только когда оно работает в активном режиме.
Оставить отзыв о работе с Firebase AI Logic