С помощью 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 Gemini (либо Gemini Developer API , либо Vertex AI Gemini API ).
Для выполнения вычислений на устройстве используется платформа Apple Foundation Models, которая доступна только на устройствах с включенной функцией Apple Intelligence . Модель на устройстве автоматически загружается при включении Apple Intelligence.
Начните
Убедитесь, что вы ознакомились с разделом выше, описывающим поддерживаемые возможности, API и устройства.
В этих шагах по началу работы описана необходимая общая настройка для любого поддерживаемого запроса на отправку командной строки.
Шаг 1 : Создайте проект Firebase и подключите ваше приложение к Firebase.
Войдите в консоль Firebase , а затем выберите свой проект Firebase.
Если у вас еще нет проекта Firebase, нажмите кнопку для создания нового проекта Firebase, а затем воспользуйтесь одним из следующих вариантов:
Вариант 1 : Создайте совершенно новый проект Firebase (и автоматически сформируйте для него базовый проект Google Cloud ), указав новое имя проекта на первом шаге рабочего процесса.
Вариант 2 : "Добавить Firebase" в существующий проект Google Cloud , нажав кнопку "Добавить Firebase в проект Google Cloud" (внизу страницы). На первом шаге процесса начните вводить название существующего проекта, а затем выберите проект из отображаемого списка.
Выполните оставшиеся шаги отображаемого на экране процесса, чтобы создать проект Firebase. Обратите внимание, что при появлении соответствующего запроса вам не потребуется настраивать Google Analytics для использования SDK Firebase AI Logic .
В консоли Firebase перейдите в раздел AI Services > AI Logic .
Нажмите « Начать» , чтобы запустить пошаговый рабочий процесс, который поможет вам настроить необходимые API и ресурсы для вашего проекта.
Настройте свой проект для использования поставщика " Gemini API ".
Мы рекомендуем начать работу с использованием API Gemini Developer . В любой момент вы всегда можете настроить API Vertex AI Gemini (и необходимые для выставления счетов параметры).
Для доступа к Gemini Developer API консоль активирует необходимые API и создаст ключ Gemini API в вашем проекте.
Не добавляйте этот API-ключ Gemini в код вашего приложения. Узнайте больше.Если в процессе работы консоли появится соответствующее сообщение, следуйте инструкциям на экране, чтобы зарегистрировать ваше приложение и подключить его к Firebase.
Чтобы добавить SDK в ваше приложение, перейдите к следующему шагу в этом руководстве.
Шаг 2 : Добавьте необходимые SDK.
Используйте Swift Package Manager (SPM) для установки и управления зависимостями Xcode. Поддержка гибридного режима доступна только при использовании SPM.
Библиотека Firebase AI Logic предоставляет доступ к API для взаимодействия с генеративными моделями. Библиотека входит в состав Firebase SDK для платформ Apple ( firebase-ios-sdk ).
Если вы уже используете Firebase, убедитесь, что версия вашего пакета Firebase — 12.13.0 или более поздняя.
В Xcode, открыв проект приложения, перейдите в меню File > Add Package Dependencies .
При появлении запроса добавьте репозиторий Firebase Apple Platforms SDK:
https://github.com/firebase/firebase-ios-sdkВыберите последнюю версию SDK.
Выберите библиотеку
FirebaseAILogic.
После завершения Xcode автоматически начнет разрешение и загрузку ваших зависимостей в фоновом режиме.
Шаг 3 : Инициализируйте сервис и создайте экземпляр сессии модели.
Чтобы просмотреть контент и код, относящиеся к вашему поставщику API Gemini , нажмите на него. |
Перед отправкой запроса модели выполните следующие действия.
Инициализируйте сервис для выбранного вами поставщика API Gemini .
Создайте экземпляр
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,
)
Шаг 4 : Отправьте запрос модели.
В этом разделе показано, как выполнить следующие действия:
Создание текста из текстового ввода.
| Прежде чем попробовать этот пример, убедитесь, что вы выполнили раздел « Начало работы» данного руководства. |
Чтобы сгенерировать текст из запроса, содержащего текст, используйте 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.