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

С помощью Firebase AI Logic вы можете создавать приложения и функции Apple на основе ИИ, используя гибридный вывод. Гибридный вывод позволяет запускать вывод с использованием моделей на устройстве (в частности, фреймворка Foundation Models от Apple), когда это возможно, и беспрепятственно переключаться на облачные модели Google в противном случае (и наоборот).

На этой странице описано, как начать работу с клиентским SDK , а также представлены дополнительные параметры конфигурации и возможности , такие как измерение температуры.

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

Рекомендуемые варианты использования

  • Использование встроенной в устройство модели для выполнения вычислений дает следующие преимущества:

    • Повышенная конфиденциальность
    • Выводы без затрат
    • Автономная функциональность
  • Использование гибридных функций предоставляет следующие возможности:

    • Обеспечьте всем клиентам одинаковый пользовательский опыт работы с приложением независимо от используемого устройства.
    • Повысить доступность функций генеративного ИИ независимо от подключения к интернету, ограничений по объему трафика или возможностей устройства.

Поддерживаемые возможности, API и устройства

Прежде чем внедрять гибридный и встроенный вывод данных с помощью Firebase AI Logic, ознакомьтесь с этим разделом, чтобы понять, что поддерживается для приложений Apple.

Поддерживаемые возможности и функции для выполнения вычислений на устройстве.

Встроенная функция обработки данных поддерживает только генерацию текста , а именно следующие возможности генерации текста:

Обязательно ознакомьтесь с подробным списком еще не поддерживаемых гибридных или встроенных функций вывода данных внизу этой страницы.

Поддерживаемые API и устройства

Начать

Убедитесь, что вы ознакомились с разделом выше, описывающим поддерживаемые возможности, API и устройства.

В этих шагах по началу работы описана необходимая общая настройка для любого поддерживаемого запроса на отправку командной строки.

Шаг 1 : Создайте проект Firebase и подключите ваше приложение к Firebase.

  1. Войдите в консоль Firebase , а затем выберите свой проект Firebase.

  2. В консоли Firebase перейдите в раздел AI Services > AI Logic .

  3. Нажмите « Начать» , чтобы запустить пошаговый рабочий процесс, который поможет вам настроить необходимые API и ресурсы для вашего проекта.

  4. Если появится соответствующее сообщение, следуйте инструкциям на экране, чтобы зарегистрировать приложение и добавить в него конфигурацию Firebase.

  5. При выборе поставщика API Gemini мы рекомендуем выбрать Gemini Developer API , который позволит вам быстро и бесплатно начать работу.

    В любой момент позже вы всегда сможете настроить API Vertex AI Gemini (и необходимые для выставления счетов параметры).

  6. Продолжите выполнение рабочих процессов, чтобы настроить необходимые API и связанные с ними сервисы для Firebase AI Logic .

    Начиная с начала июля 2026 года, на этом этапе рабочего процесса автоматически будет применяться Firebase App Check для AI Logic , критически важная служба, помогающая защитить API Gemini при прямом доступе к нему из вашего приложения. Для начала работы (см. шаги далее в этом руководстве) вам потребуется настроить отладочный провайдер App Check для локальной разработки, когда App Check будет применяться.

  7. Перейдите к следующему шагу в этом руководстве, чтобы добавить необходимые SDK в ваше приложение.

Шаг 2 : Добавьте необходимые SDK.

Используйте Swift Package Manager (SPM) для установки и управления зависимостями Xcode. Поддержка гибридного режима доступна только при использовании SPM.

Библиотека Firebase AI Logic предоставляет доступ к API для взаимодействия с генеративными моделями. Библиотека входит в состав Firebase SDK для платформ Apple ( firebase-ios-sdk ).

Если вы уже используете Firebase, убедитесь, что версия вашего пакета Firebase — 12.13.0 или более поздняя.

  1. В Xcode, открыв проект приложения, перейдите в меню File > Add Package Dependencies .

  2. При появлении запроса добавьте репозиторий Firebase Apple Platforms SDK:

    https://github.com/firebase/firebase-ios-sdk
    
  3. Выберите последнюю версию SDK.

  4. Выберите библиотеки FirebaseAILogic и FirebaseAppCheck .

После завершения Xcode автоматически начнет разрешение и загрузку ваших зависимостей в фоновом режиме.

Шаг 3 : Настройка поставщика отладки App Check для локальной разработки

Начиная с начала июля 2026 года, в рамках пошаговой настройки AI Logic в консоли, Firebase App Check автоматически включается для защиты API Gemini . Для локальной разработки необходимо настроить отладочный провайдер App Check таким образом, чтобы он обходил аттестацию, сохраняя при этом принудительное включение App Check .

Вот как использовать отладочный провайдер при интерактивном запуске приложения в симуляторе (например, во время локальной разработки):

  1. В вашем проекте 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()
          }
        }
      }
    }
    
  2. Получите свой отладочный токен:

    1. Запустите приложение в симуляторе или на тестовом устройстве.

    2. Откройте консоль Xcode и найдите отладочный токен App Check . Например:

      <Warning> [AppCheckCore][I-GAC004001] App Check debug token: '123a4567-b89c-12d3-e456-789012345678'.
      
    3. Скопируйте токен (например, 123a4567-b89c-12d3-e456-789012345678 ).

  3. Зарегистрируйте свой отладочный токен в App Check :

    1. В консоли Firebase перейдите в раздел Безопасность > Проверка приложений > вкладка Приложения .

    2. Найдите своё приложение, нажмите на меню дополнительных элементов ( ), а затем выберите «Управление отладочными токенами» .

    3. Следуйте инструкциям на экране, чтобы зарегистрировать свой отладочный токен.

Подробную информацию о поставщике отладки (включая способы получения нового токена отладки) можно найти в официальной документации App Check .

Шаг 4 : Инициализируйте сервис и создайте экземпляр сессии модели.

Чтобы просмотреть контент и код, относящиеся к вашему поставщику API Gemini , нажмите на него.

Перед отправкой запроса модели выполните следующие действия.

  1. Инициализируйте сервис для выбранного вами поставщика API Gemini .

  2. Создайте экземпляр GenerativeModelSession с HybridModel .

  3. Настройте 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 или облачных моделей поддерживаются.

  • Следующие функции не поддерживаются в гибридных или локальных реализациях : модели Imagen, API Gemini Live и шаблоны подсказок. Кроме того, не следует полагаться на токены подсчета, поскольку их значение будет различаться в облачных и локальных моделях, поэтому интуитивно понятного резервного варианта нет.

  • Следующие функции пока не поддерживаются для выполнения вычислений на устройстве. Если вы хотите использовать какие-либо из этих функций, мы рекомендуем использовать только облачную модель для более стабильной работы.

    • Генерация текста из мультимодальных входных данных, таких как изображения, аудио, видео и документы (PDF).

    • Создание медиаконтента, такого как изображения, аудио или видео.

    • Отправка запросов, превышающих 4096 токенов (или приблизительно 3000 английских слов).

    • Предоставление модели на устройстве встроенных инструментов , помогающих ей генерировать ответ (например, выполнение кода, контекст URL и привязка к поиску Google).

  • Мониторинг ИИ в консоли Firebase не отображает никаких данных о результатах выполнения вычислений на устройстве (включая журналы устройства). Однако любые вычисления, использующие облачную модель, можно отслеживать так же, как и другие вычисления, с помощью Firebase AI Logic .

Дополнительные ограничения

Помимо вышеперечисленного, вывод данных непосредственно на устройстве имеет следующие ограничения:

  • Конечный пользователь вашего приложения должен использовать устройство с включенной функцией Apple Intelligence .

  • Ваше приложение может выполнять вывод данных на устройстве только тогда, когда оно находится в фоновом режиме.


Оставьте отзыв о вашем опыте использования Firebase AI Logic.