Firebase AI Logic и его клиентские SDK ранее назывались " Vertex AI in Firebase ". Чтобы лучше отразить наши расширенные сервисы и функции (например, теперь мы поддерживаем Gemini Developer API !), мы переименовали и переупаковали наши сервисы в Firebase AI Logic .
Чтобы безопасно получить доступ к моделям генеративного ИИ Google напрямую из мобильных или веб-приложений, теперь вы можете выбрать поставщика « Gemini API » — либо давно доступный Vertex AI Gemini API , либо теперь Gemini Developer API . Это означает, что теперь у вас есть возможность использовать Gemini Developer API , который предоставляет бесплатный уровень с разумными ограничениями по скорости и квотами.
Обзор шагов по переходу на Firebase AI Logic SDK
Шаг 1 : Выберите лучшего поставщика « Gemini API » для вашего приложения и вариантов использования.
Шаг 2 : Настройте свой проект Firebase так, чтобы вы могли использовать Gemini Developer API .
Применимо только в том случае, если вы переходите на использование API разработчика Gemini вместо API Vertex AI Gemini .Шаг 3 : Обновите библиотеку, используемую в вашем приложении.
Шаг 4 : Обновите инициализацию в вашем приложении.
Шаг 5 : Обновите свой код в зависимости от используемых вами функций.
Шаг 1 : Выберите лучшего поставщика «Gemini API» для вашего приложения
При этой миграции у вас есть выбор поставщика « Gemini API »:
Старые SDK « Vertex AI in Firebase » могли использовать только API Vertex AI Gemini .
Новые Firebase AI Logic SDK позволяют вам выбирать, к какому поставщику « Gemini API » вы хотите обращаться напрямую из своего мобильного или веб-приложения — Gemini Developer API или Vertex AI Gemini API .
Ознакомьтесь с различиями между использованием двух поставщиков API Gemini , особенно с точки зрения поддерживаемых функций, цен и ограничений скорости. Например, API разработчика Gemini не поддерживает предоставление файлов с использованием URL-адресов Cloud Storage , но это может быть хорошим выбором, если вы хотите воспользоваться его бесплатным уровнем и разумной квотой.
Если вы хотите продолжать использовать API Vertex AI Gemini :
Пропустите следующий шаг и переходите сразу к обновлению библиотеки в вашем приложении , а затем к остальной части этого руководства.Если вы хотите перейти на API разработчика Gemini :
Перейдите к следующему шагу, чтобы настроить свой проект Firebase для использования этого API , а затем прочтите остальную часть этого руководства.
Шаг 2 : Настройте свой проект Firebase, чтобы вы могли использовать API разработчика Gemini
Этот шаг необходим только в том случае, если вы хотите перейти на использование Gemini Developer API с клиентскими SDK Firebase AI Logic . Однако, если вы хотите продолжать использовать Vertex AI Gemini API , перейдите к следующему шагу.
Обратите внимание, что в вашем проекте могут быть одновременно включены оба поставщика «Gemini API».
В консоли Firebase перейдите на страницу Firebase AI Logic .
Перейдите на вкладку «Настройки» и выберите Gemini Developer API .
Включите API разработчика Gemini .
Консоль проверит, включены ли необходимые API, и сгенерирует ключ API Gemini в вашем проекте Firebase.
Продолжайте следовать этому руководству по миграции, чтобы обновить библиотеку и инициализацию в вашем приложении.
Шаг 3 : Обновите библиотеку, используемую в вашем приложении.
Обновите кодовую базу вашего приложения, чтобы использовать библиотеку Firebase AI Logic .
Быстрый
В Xcode, открыв проект приложения, обновите пакет Firebase до версии 11.13.0 или более поздней, используя один из следующих вариантов:
Вариант 1 : Обновить все пакеты: Перейдите в Файл > Пакеты > Обновить до последних версий пакетов .
Вариант 2 : Обновите Firebase по отдельности: Перейдите к пакету Firebase в разделе Package Dependencies . Щелкните правой кнопкой мыши по пакету Firebase, а затем выберите Update Package .
Убедитесь, что пакет Firebase теперь показывает v11.13.0 или более позднюю версию. Если это не так, проверьте, что указанные вами требования к пакету позволяют обновиться до v11.13.0 или более поздней версии.
Выберите цель вашего приложения в редакторе проектов, а затем перейдите в раздел «Фреймворки, библиотеки и встроенный контент» .
Добавьте новую библиотеку: нажмите кнопку + , а затем добавьте FirebaseAI из пакета Firebase.
После завершения миграции приложения (см. оставшиеся разделы этого руководства) обязательно удалите старую библиотеку:
Выберите FirebaseVertexAI , а затем нажмите кнопку — .
Kotlin
В файле Gradle вашего модуля (уровня приложения) (обычно
<project>/<app-module>/build.gradle.kts
или<project>/<app-module>/build.gradle
) замените старые зависимости (если применимо) следующими.Обратите внимание, что перед удалением старой зависимости может быть проще перенести кодовую базу вашего приложения (см. оставшиеся разделы этого руководства).
// BEFORE dependencies { implementation(platform("com.google.firebase:firebase-bom:33.x.y"))
implementation("com.google.firebase:firebase-vertexai")// OR if not using the BoMimplementation("com.google.firebase:firebase-vertexai:16.x.y")} // AFTER dependencies { // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:33.13.0")) // Add the dependency for the Firebase AI Logic library // When using the BoM, you don't specify versions in Firebase library dependencies implementation("com.google.firebase:firebase-ai") }Синхронизируйте свой проект Android с файлами Gradle.
Обратите внимание: если вы решили не использовать Firebase Android BoM , просто добавьте зависимость для библиотеки firebase-ai
и примите последнюю версию, предложенную Android Studio.
Java
В файле Gradle вашего модуля (уровня приложения) (обычно
<project>/<app-module>/build.gradle.kts
или<project>/<app-module>/build.gradle
) замените старые зависимости (если применимо) следующими.Обратите внимание, что перед удалением старой зависимости может быть проще перенести кодовую базу вашего приложения (см. оставшиеся разделы этого руководства).
// BEFORE dependencies { implementation(platform("com.google.firebase:firebase-bom:33.x.y"))
implementation("com.google.firebase:firebase-vertexai")// OR if not using the BoMimplementation("com.google.firebase:firebase-vertexai:16.x.y")} // AFTER dependencies { // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:33.13.0")) // Add the dependency for the Firebase AI Logic library // When using the BoM, you don't specify versions in Firebase library dependencies implementation("com.google.firebase:firebase-ai") }Синхронизируйте свой проект Android с файлами Gradle.
Обратите внимание: если вы решили не использовать Firebase Android BoM , просто добавьте зависимость для библиотеки firebase-ai
и примите последнюю версию, предложенную Android Studio.
Web
Получите последнюю версию Firebase JS SDK для Web с помощью npm:
npm i firebase@latest
ИЛИ
yarn add firebase@latest
Везде, где вы импортировали библиотеку, обновите операторы импорта, чтобы вместо этого использовать
firebase/ai
.Обратите внимание, что перед удалением старых импортов может быть проще перенести кодовую базу вашего приложения (см. оставшиеся разделы этого руководства).
// BEFORE import { initializeApp } from "firebase/app";
import { getVertexAI, getGenerativeModel } from "firebase/vertexai";// AFTER import { initializeApp } from "firebase/app"; import { getAI, getGenerativeModel } from "firebase/ai";
Dart
Обновите файл
pubspec.yaml
, чтобы использовать пакетfirebase_ai
, выполнив следующую команду из каталога проекта Flutter:flutter pub add firebase_ai
Перестройте свой проект Flutter:
flutter run
После завершения миграции приложения (см. оставшиеся разделы этого руководства) обязательно удалите старый пакет:
flutter pub remove firebase_vertexai
Единство
Поддержка Unity не была доступна в «Vertex AI in Firebase».
Узнайте, как начать работу с Firebase AI Logic SDK для Unity .
Шаг 4 : Обновите инициализацию в вашем приложении.
Щелкните своего поставщика API Gemini , чтобы просмотреть специфичный для этого поставщика контент и код на этой странице. |
Обновите способ инициализации службы для выбранного вами поставщика API и создайте экземпляр GenerativeModel
.
Быстрый
import FirebaseAI
// Initialize the Gemini Developer API backend service
let ai = FirebaseAI.firebaseAI(backend: .googleAI())
// Create a `GenerativeModel` instance with a model that supports your use case
let model = ai.generativeModel(modelName: "gemini-2.0-flash")
Kotlin
// Initialize the Gemini Developer API backend service
// Create a `GenerativeModel` instance with a model that supports your use case
val model = Firebase.ai(backend = GenerativeBackend.googleAI())
.generativeModel("gemini-2.0-flash")
Java
// Initialize the Gemini Developer API backend service
// Create a `GenerativeModel` instance with a model that supports your use case
GenerativeModel ai = FirebaseAI.getInstance(GenerativeBackend.googleAI())
.generativeModel("gemini-2.0-flash");
// Use the GenerativeModelFutures Java compatibility layer which offers
// support for ListenableFuture and Publisher APIs
GenerativeModelFutures model = GenerativeModelFutures.from(ai);
Web
import { initializeApp } from "firebase/app";
import { getAI, getGenerativeModel, GoogleAIBackend } from "firebase/ai";
// TODO(developer) Replace the following with your app's Firebase configuration
// See: https://firebase.google.com/docs/web/learn-more#config-object
const firebaseConfig = {
// ...
};
// Initialize FirebaseApp
const firebaseApp = initializeApp(firebaseConfig);
// Initialize the Gemini Developer API backend service
const ai = getAI(firebaseApp, { backend: new GoogleAIBackend() });
// Create a `GenerativeModel` instance with a model that supports your use case
const model = getGenerativeModel(ai, { model: "gemini-2.0-flash" });
Dart
import 'package:firebase_ai/firebase_ai.dart';
import 'package:firebase_core/firebase_core.dart';
import 'firebase_options.dart';
// Initialize FirebaseApp
await Firebase.initializeApp(
options: DefaultFirebaseOptions.currentPlatform,
);
// Initialize the Gemini Developer API backend service
// Create a `GenerativeModel` instance with a model that supports your use case
final model =
FirebaseAI.googleAI().generativeModel(model: 'gemini-2.0-flash');
Единство
Поддержка Unity не была доступна в «Vertex AI in Firebase».
Узнайте, как начать работу с Firebase AI Logic SDK для Unity .
Обратите внимание, что в зависимости от используемой возможности вы не всегда можете создать экземпляр GenerativeModel
.
- Чтобы получить доступ к модели Imagen , создайте экземпляр
ImagenModel
.
Шаг 5 : Обновите свой код в зависимости от используемых вами функций.
На этом этапе описываются изменения, которые могут потребоваться в зависимости от используемых вами функций.
Если вы используете URL-адреса Cloud Storage и перешли на использование API разработчика Gemini при этой миграции, вам необходимо обновить мультимодальные запросы, чтобы включить файлы в качестве встроенных данных (или использовать URL-адреса YouTube для видео).
Ознакомьтесь со следующими списками на предмет изменений, которые вам, возможно, придется внести в свой код для подготовки к использованию Firebase AI Logic SDK.
Быстрый
Никаких дополнительных изменений.
Kotlin
Live API
- Удалено значение
UNSPECIFIED
для класса enumResponseModality
. Вместо этого используйтеnull
.
- Удалено значение
Java
Live API
- Удалено значение
UNSPECIFIED
для класса enumResponseModality
. Вместо этого используйтеnull
.
- Удалено значение
Изменены различные методы Java-конструктора, чтобы теперь они правильно возвращали экземпляр своего класса, а не void.
Web
Изменения требуются только в том случае, если вы начинаете использовать Gemini Developer API (вместо Vertex AI Gemini API ):
Настройки безопасности
- Удалены случаи использования неподдерживаемого метода
SafetySetting.method
.
- Удалены случаи использования неподдерживаемого метода
Встроенные данные
- Удалены случаи использования неподдерживаемого
InlineDataPart.videoMetadata
.
- Удалены случаи использования неподдерживаемого
Dart
Никаких дополнительных изменений.
Единство
Поддержка Unity не была доступна в « Vertex AI in Firebase ».
Узнайте, как начать работу с Firebase AI Logic SDK для Unity .
Оставьте отзыв о своем опыте использования Firebase AI Logic
Firebase AI Logic и его клиентские SDK ранее назывались " Vertex AI in Firebase ". Чтобы лучше отразить наши расширенные сервисы и функции (например, теперь мы поддерживаем Gemini Developer API !), мы переименовали и переупаковали наши сервисы в Firebase AI Logic .
Чтобы безопасно получить доступ к моделям генеративного ИИ Google напрямую из мобильных или веб-приложений, теперь вы можете выбрать поставщика « Gemini API » — либо давно доступный Vertex AI Gemini API , либо теперь Gemini Developer API . Это означает, что теперь у вас есть возможность использовать Gemini Developer API , который предоставляет бесплатный уровень с разумными ограничениями по скорости и квотами.
Обзор шагов по переходу на Firebase AI Logic SDK
Шаг 1 : Выберите лучшего поставщика « Gemini API » для вашего приложения и вариантов использования.
Шаг 2 : Настройте свой проект Firebase так, чтобы вы могли использовать Gemini Developer API .
Применимо только в том случае, если вы переходите на использование API разработчика Gemini вместо API Vertex AI Gemini .Шаг 3 : Обновите библиотеку, используемую в вашем приложении.
Шаг 4 : Обновите инициализацию в вашем приложении.
Шаг 5 : Обновите свой код в зависимости от используемых вами функций.
Шаг 1 : Выберите лучшего поставщика «Gemini API» для вашего приложения
При этой миграции у вас есть выбор поставщика « Gemini API »:
Старые SDK « Vertex AI in Firebase » могли использовать только API Vertex AI Gemini .
Новые Firebase AI Logic SDK позволяют вам выбирать, к какому поставщику « Gemini API » вы хотите обращаться напрямую из своего мобильного или веб-приложения — Gemini Developer API или Vertex AI Gemini API .
Ознакомьтесь с различиями между использованием двух поставщиков API Gemini , особенно с точки зрения поддерживаемых функций, цен и ограничений скорости. Например, API разработчика Gemini не поддерживает предоставление файлов с использованием URL-адресов Cloud Storage , но это может быть хорошим выбором, если вы хотите воспользоваться его бесплатным уровнем и разумной квотой.
Если вы хотите продолжать использовать API Vertex AI Gemini :
Пропустите следующий шаг и переходите сразу к обновлению библиотеки в вашем приложении , а затем к остальной части этого руководства.Если вы хотите перейти на API разработчика Gemini :
Перейдите к следующему шагу, чтобы настроить свой проект Firebase для использования этого API , а затем прочтите остальную часть этого руководства.
Шаг 2 : Настройте свой проект Firebase, чтобы вы могли использовать API разработчика Gemini
Этот шаг необходим только в том случае, если вы хотите перейти на использование Gemini Developer API с клиентскими SDK Firebase AI Logic . Однако, если вы хотите продолжать использовать Vertex AI Gemini API , перейдите к следующему шагу.
Обратите внимание, что в вашем проекте могут быть одновременно включены оба поставщика «Gemini API».
В консоли Firebase перейдите на страницу Firebase AI Logic .
Перейдите на вкладку «Настройки» и выберите Gemini Developer API .
Включите API разработчика Gemini .
Консоль проверит, включены ли необходимые API, и сгенерирует ключ API Gemini в вашем проекте Firebase.
Продолжайте следовать этому руководству по миграции, чтобы обновить библиотеку и инициализацию в вашем приложении.
Шаг 3 : Обновите библиотеку, используемую в вашем приложении.
Обновите кодовую базу вашего приложения, чтобы использовать библиотеку Firebase AI Logic .
Быстрый
В Xcode, открыв проект приложения, обновите пакет Firebase до версии 11.13.0 или более поздней, используя один из следующих вариантов:
Вариант 1 : Обновить все пакеты: Перейдите в Файл > Пакеты > Обновить до последних версий пакетов .
Вариант 2 : Обновите Firebase по отдельности: Перейдите к пакету Firebase в разделе Package Dependencies . Щелкните правой кнопкой мыши по пакету Firebase, а затем выберите Update Package .
Убедитесь, что пакет Firebase теперь показывает v11.13.0 или более позднюю версию. Если это не так, проверьте, что указанные вами требования к пакету позволяют обновиться до v11.13.0 или более поздней версии.
Выберите цель вашего приложения в редакторе проектов, а затем перейдите в раздел «Фреймворки, библиотеки и встроенный контент» .
Добавьте новую библиотеку: нажмите кнопку + , а затем добавьте FirebaseAI из пакета Firebase.
После завершения миграции приложения (см. оставшиеся разделы этого руководства) обязательно удалите старую библиотеку:
Выберите FirebaseVertexAI , а затем нажмите кнопку — .
Kotlin
В файле Gradle вашего модуля (уровня приложения) (обычно
<project>/<app-module>/build.gradle.kts
или<project>/<app-module>/build.gradle
) замените старые зависимости (если применимо) следующими.Обратите внимание, что перед удалением старой зависимости может быть проще перенести кодовую базу вашего приложения (см. оставшиеся разделы этого руководства).
// BEFORE dependencies { implementation(platform("com.google.firebase:firebase-bom:33.x.y"))
implementation("com.google.firebase:firebase-vertexai")// OR if not using the BoMimplementation("com.google.firebase:firebase-vertexai:16.x.y")} // AFTER dependencies { // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:33.13.0")) // Add the dependency for the Firebase AI Logic library // When using the BoM, you don't specify versions in Firebase library dependencies implementation("com.google.firebase:firebase-ai") }Синхронизируйте свой проект Android с файлами Gradle.
Обратите внимание: если вы решили не использовать Firebase Android BoM , просто добавьте зависимость для библиотеки firebase-ai
и примите последнюю версию, предложенную Android Studio.
Java
В файле Gradle вашего модуля (уровня приложения) (обычно
<project>/<app-module>/build.gradle.kts
или<project>/<app-module>/build.gradle
) замените старые зависимости (если применимо) следующими.Обратите внимание, что перед удалением старой зависимости может быть проще перенести кодовую базу вашего приложения (см. оставшиеся разделы этого руководства).
// BEFORE dependencies { implementation(platform("com.google.firebase:firebase-bom:33.x.y"))
implementation("com.google.firebase:firebase-vertexai")// OR if not using the BoMimplementation("com.google.firebase:firebase-vertexai:16.x.y")} // AFTER dependencies { // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:33.13.0")) // Add the dependency for the Firebase AI Logic library // When using the BoM, you don't specify versions in Firebase library dependencies implementation("com.google.firebase:firebase-ai") }Синхронизируйте свой проект Android с файлами Gradle.
Обратите внимание: если вы решили не использовать Firebase Android BoM , просто добавьте зависимость для библиотеки firebase-ai
и примите последнюю версию, предложенную Android Studio.
Web
Получите последнюю версию Firebase JS SDK для Web с помощью npm:
npm i firebase@latest
ИЛИ
yarn add firebase@latest
Везде, где вы импортировали библиотеку, обновите операторы импорта, чтобы вместо этого использовать
firebase/ai
.Обратите внимание, что перед удалением старых импортов может быть проще перенести кодовую базу вашего приложения (см. оставшиеся разделы этого руководства).
// BEFORE import { initializeApp } from "firebase/app";
import { getVertexAI, getGenerativeModel } from "firebase/vertexai";// AFTER import { initializeApp } from "firebase/app"; import { getAI, getGenerativeModel } from "firebase/ai";
Dart
Обновите файл
pubspec.yaml
, чтобы использовать пакетfirebase_ai
, выполнив следующую команду из каталога проекта Flutter:flutter pub add firebase_ai
Перестройте свой проект Flutter:
flutter run
После завершения миграции приложения (см. оставшиеся разделы этого руководства) обязательно удалите старый пакет:
flutter pub remove firebase_vertexai
Единство
Поддержка Unity не была доступна в «Vertex AI in Firebase».
Узнайте, как начать работу с Firebase AI Logic SDK для Unity .
Шаг 4 : Обновите инициализацию в вашем приложении.
Щелкните своего поставщика API Gemini , чтобы просмотреть специфичный для этого поставщика контент и код на этой странице. |
Обновите способ инициализации службы для выбранного вами поставщика API и создайте экземпляр GenerativeModel
.
Быстрый
import FirebaseAI
// Initialize the Gemini Developer API backend service
let ai = FirebaseAI.firebaseAI(backend: .googleAI())
// Create a `GenerativeModel` instance with a model that supports your use case
let model = ai.generativeModel(modelName: "gemini-2.0-flash")
Kotlin
// Initialize the Gemini Developer API backend service
// Create a `GenerativeModel` instance with a model that supports your use case
val model = Firebase.ai(backend = GenerativeBackend.googleAI())
.generativeModel("gemini-2.0-flash")
Java
// Initialize the Gemini Developer API backend service
// Create a `GenerativeModel` instance with a model that supports your use case
GenerativeModel ai = FirebaseAI.getInstance(GenerativeBackend.googleAI())
.generativeModel("gemini-2.0-flash");
// Use the GenerativeModelFutures Java compatibility layer which offers
// support for ListenableFuture and Publisher APIs
GenerativeModelFutures model = GenerativeModelFutures.from(ai);
Web
import { initializeApp } from "firebase/app";
import { getAI, getGenerativeModel, GoogleAIBackend } from "firebase/ai";
// TODO(developer) Replace the following with your app's Firebase configuration
// See: https://firebase.google.com/docs/web/learn-more#config-object
const firebaseConfig = {
// ...
};
// Initialize FirebaseApp
const firebaseApp = initializeApp(firebaseConfig);
// Initialize the Gemini Developer API backend service
const ai = getAI(firebaseApp, { backend: new GoogleAIBackend() });
// Create a `GenerativeModel` instance with a model that supports your use case
const model = getGenerativeModel(ai, { model: "gemini-2.0-flash" });
Dart
import 'package:firebase_ai/firebase_ai.dart';
import 'package:firebase_core/firebase_core.dart';
import 'firebase_options.dart';
// Initialize FirebaseApp
await Firebase.initializeApp(
options: DefaultFirebaseOptions.currentPlatform,
);
// Initialize the Gemini Developer API backend service
// Create a `GenerativeModel` instance with a model that supports your use case
final model =
FirebaseAI.googleAI().generativeModel(model: 'gemini-2.0-flash');
Единство
Поддержка Unity не была доступна в «Vertex AI in Firebase».
Узнайте, как начать работу с Firebase AI Logic SDK для Unity .
Обратите внимание, что в зависимости от используемой возможности вы не всегда можете создать экземпляр GenerativeModel
.
- Чтобы получить доступ к модели Imagen , создайте экземпляр
ImagenModel
.
Шаг 5 : Обновите свой код в зависимости от используемых вами функций.
На этом этапе описываются изменения, которые могут потребоваться в зависимости от используемых вами функций.
Если вы используете URL-адреса Cloud Storage и перешли на использование API разработчика Gemini при этой миграции, вам необходимо обновить мультимодальные запросы, чтобы включить файлы в качестве встроенных данных (или использовать URL-адреса YouTube для видео).
Ознакомьтесь со следующими списками на предмет изменений, которые вам, возможно, придется внести в свой код для подготовки к использованию Firebase AI Logic SDK.
Быстрый
Никаких дополнительных изменений.
Kotlin
Live API
- Удалено значение
UNSPECIFIED
для класса enumResponseModality
. Вместо этого используйтеnull
.
- Удалено значение
Java
Live API
- Удалено значение
UNSPECIFIED
для класса enumResponseModality
. Вместо этого используйтеnull
.
- Удалено значение
Изменены различные методы Java-конструктора, чтобы теперь они правильно возвращали экземпляр своего класса, а не void.
Web
Изменения требуются только в том случае, если вы начинаете использовать Gemini Developer API (вместо Vertex AI Gemini API ):
Настройки безопасности
- Удалены случаи использования неподдерживаемого метода
SafetySetting.method
.
- Удалены случаи использования неподдерживаемого метода
Встроенные данные
- Удалены случаи использования неподдерживаемого
InlineDataPart.videoMetadata
.
- Удалены случаи использования неподдерживаемого
Dart
Никаких дополнительных изменений.
Единство
Поддержка Unity не была доступна в « Vertex AI in Firebase ».
Узнайте, как начать работу с Firebase AI Logic SDK для Unity .
Оставьте отзыв о своем опыте использования Firebase AI Logic