Переход на Firebase AI Logic SDK из GA-версии Vertex AI в Firebase SDK,Переход на Firebase AI Logic SDK из GA-версии Vertex AI в Firebase SDK


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 , но это может быть хорошим выбором, если вы хотите воспользоваться его бесплатным уровнем и разумной квотой.

Шаг 2 : Настройте свой проект Firebase, чтобы вы могли использовать API разработчика Gemini

Этот шаг необходим только в том случае, если вы хотите перейти на использование Gemini Developer API с клиентскими SDK Firebase AI Logic . Однако, если вы хотите продолжать использовать Vertex AI Gemini API , перейдите к следующему шагу.

Обратите внимание, что в вашем проекте могут быть одновременно включены оба поставщика «Gemini API».

  1. В консоли Firebase перейдите на страницу Firebase AI Logic .

  2. Перейдите на вкладку «Настройки» и выберите Gemini Developer API .

  3. Включите API разработчика Gemini .

    Консоль проверит, включены ли необходимые API, и сгенерирует ключ API Gemini в вашем проекте Firebase.

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

Шаг 3 : Обновите библиотеку, используемую в вашем приложении.

Обновите кодовую базу вашего приложения, чтобы использовать библиотеку Firebase AI Logic .

Быстрый

  1. В Xcode, открыв проект приложения, обновите пакет Firebase до версии 11.13.0 или более поздней, используя один из следующих вариантов:

    • Вариант 1 : Обновить все пакеты: Перейдите в Файл > Пакеты > Обновить до последних версий пакетов .

    • Вариант 2 : Обновите Firebase по отдельности: Перейдите к пакету Firebase в разделе Package Dependencies . Щелкните правой кнопкой мыши по пакету Firebase, а затем выберите Update Package .

  2. Убедитесь, что пакет Firebase теперь показывает v11.13.0 или более позднюю версию. Если это не так, проверьте, что указанные вами требования к пакету позволяют обновиться до v11.13.0 или более поздней версии.

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

  4. Добавьте новую библиотеку: нажмите кнопку + , а затем добавьте FirebaseAI из пакета Firebase.

  5. После завершения миграции приложения (см. оставшиеся разделы этого руководства) обязательно удалите старую библиотеку:
    Выберите FirebaseVertexAI , а затем нажмите кнопку .

Kotlin

  1. В файле 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 BoM
      implementation("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")
    }
  2. Синхронизируйте свой проект Android с файлами Gradle.

Обратите внимание: если вы решили не использовать Firebase Android BoM , просто добавьте зависимость для библиотеки firebase-ai и примите последнюю версию, предложенную Android Studio.

Java

  1. В файле 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 BoM
      implementation("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")
    }
  2. Синхронизируйте свой проект Android с файлами Gradle.

Обратите внимание: если вы решили не использовать Firebase Android BoM , просто добавьте зависимость для библиотеки firebase-ai и примите последнюю версию, предложенную Android Studio.

Web

  1. Получите последнюю версию Firebase JS SDK для Web с помощью npm:

    npm i firebase@latest

    ИЛИ

    yarn add firebase@latest
  2. Везде, где вы импортировали библиотеку, обновите операторы импорта, чтобы вместо этого использовать 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

  1. Обновите файл pubspec.yaml , чтобы использовать пакет firebase_ai , выполнив следующую команду из каталога проекта Flutter:

    flutter pub add firebase_ai
  2. Перестройте свой проект Flutter:

    flutter run
  3. После завершения миграции приложения (см. оставшиеся разделы этого руководства) обязательно удалите старый пакет:

    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 .

Шаг 5 : Обновите свой код в зависимости от используемых вами функций.

На этом этапе описываются изменения, которые могут потребоваться в зависимости от используемых вами функций.

  • Если вы используете URL-адреса Cloud Storage и перешли на использование API разработчика Gemini при этой миграции, вам необходимо обновить мультимодальные запросы, чтобы включить файлы в качестве встроенных данных (или использовать URL-адреса YouTube для видео).

  • Ознакомьтесь со следующими списками на предмет изменений, которые вам, возможно, придется внести в свой код для подготовки к использованию Firebase AI Logic SDK.

Быстрый

Никаких дополнительных изменений.

Kotlin

  • Live API

    • Удалено значение UNSPECIFIED для класса enum ResponseModality . Вместо этого используйте null .

Java

  • Live API

    • Удалено значение UNSPECIFIED для класса enum ResponseModality . Вместо этого используйте 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 , но это может быть хорошим выбором, если вы хотите воспользоваться его бесплатным уровнем и разумной квотой.

Шаг 2 : Настройте свой проект Firebase, чтобы вы могли использовать API разработчика Gemini

Этот шаг необходим только в том случае, если вы хотите перейти на использование Gemini Developer API с клиентскими SDK Firebase AI Logic . Однако, если вы хотите продолжать использовать Vertex AI Gemini API , перейдите к следующему шагу.

Обратите внимание, что в вашем проекте могут быть одновременно включены оба поставщика «Gemini API».

  1. В консоли Firebase перейдите на страницу Firebase AI Logic .

  2. Перейдите на вкладку «Настройки» и выберите Gemini Developer API .

  3. Включите API разработчика Gemini .

    Консоль проверит, включены ли необходимые API, и сгенерирует ключ API Gemini в вашем проекте Firebase.

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

Шаг 3 : Обновите библиотеку, используемую в вашем приложении.

Обновите кодовую базу вашего приложения, чтобы использовать библиотеку Firebase AI Logic .

Быстрый

  1. В Xcode, открыв проект приложения, обновите пакет Firebase до версии 11.13.0 или более поздней, используя один из следующих вариантов:

    • Вариант 1 : Обновить все пакеты: Перейдите в Файл > Пакеты > Обновить до последних версий пакетов .

    • Вариант 2 : Обновите Firebase по отдельности: Перейдите к пакету Firebase в разделе Package Dependencies . Щелкните правой кнопкой мыши по пакету Firebase, а затем выберите Update Package .

  2. Убедитесь, что пакет Firebase теперь показывает v11.13.0 или более позднюю версию. Если это не так, проверьте, что указанные вами требования к пакету позволяют обновиться до v11.13.0 или более поздней версии.

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

  4. Добавьте новую библиотеку: нажмите кнопку + , а затем добавьте FirebaseAI из пакета Firebase.

  5. После завершения миграции приложения (см. оставшиеся разделы этого руководства) обязательно удалите старую библиотеку:
    Выберите FirebaseVertexAI , а затем нажмите кнопку .

Kotlin

  1. В файле 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 BoM
      implementation("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")
    }
  2. Синхронизируйте свой проект Android с файлами Gradle.

Обратите внимание: если вы решили не использовать Firebase Android BoM , просто добавьте зависимость для библиотеки firebase-ai и примите последнюю версию, предложенную Android Studio.

Java

  1. В файле 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 BoM
      implementation("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")
    }
  2. Синхронизируйте свой проект Android с файлами Gradle.

Обратите внимание: если вы решили не использовать Firebase Android BoM , просто добавьте зависимость для библиотеки firebase-ai и примите последнюю версию, предложенную Android Studio.

Web

  1. Получите последнюю версию Firebase JS SDK для Web с помощью npm:

    npm i firebase@latest

    ИЛИ

    yarn add firebase@latest
  2. Везде, где вы импортировали библиотеку, обновите операторы импорта, чтобы вместо этого использовать 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

  1. Обновите файл pubspec.yaml , чтобы использовать пакет firebase_ai , выполнив следующую команду из каталога проекта Flutter:

    flutter pub add firebase_ai
  2. Перестройте свой проект Flutter:

    flutter run
  3. После завершения миграции приложения (см. оставшиеся разделы этого руководства) обязательно удалите старый пакет:

    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 .

Шаг 5 : Обновите свой код в зависимости от используемых вами функций.

На этом этапе описываются изменения, которые могут потребоваться в зависимости от используемых вами функций.

  • Если вы используете URL-адреса Cloud Storage и перешли на использование API разработчика Gemini при этой миграции, вам необходимо обновить мультимодальные запросы, чтобы включить файлы в качестве встроенных данных (или использовать URL-адреса YouTube для видео).

  • Ознакомьтесь со следующими списками на предмет изменений, которые вам, возможно, придется внести в свой код для подготовки к использованию Firebase AI Logic SDK.

Быстрый

Никаких дополнительных изменений.

Kotlin

  • Live API

    • Удалено значение UNSPECIFIED для класса enum ResponseModality . Вместо этого используйте null .

Java

  • Live API

    • Удалено значение UNSPECIFIED для класса enum ResponseModality . Вместо этого используйте 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