Przejście z wersji GA pakietu SDK Vertex AI w Firebase na pakiety SDK Firebase AI Logic


Firebase AI Logic i jej pakiety SDK dla klienta były wcześniej nazywane „Vertex AI in Firebase”. Aby lepiej odzwierciedlić rozszerzone usługi i funkcje (np. teraz obsługujemy Gemini Developer API!), zmieniliśmy nazwę naszych usług i zawartość pakietów SDK na Firebase AI Logic.

Aby uzyskać bezpieczny dostęp do generatywnych modeli AI od Google bezpośrednio z aplikacji mobilnych lub internetowych, możesz teraz wybrać dostawcę „Gemini API” – Vertex AI Gemini API, który jest dostępny od dawna, lub Gemini Developer API, który jest dostępny od niedawna. Oznacza to, że możesz teraz korzystać z opcji Gemini Developer API, która zapewnia poziom bezpłatny z rozsądnymi limitami i limitami stawek.

Omówienie kroków migracji do pakietów SDK Firebase AI Logic

  • Krok 1. Wybierz dostawcę usługi „Gemini API”, który najlepiej odpowiada Twojej aplikacji i przypadkom użycia.

  • Krok 2. Skonfiguruj projekt Firebase, aby móc korzystać z funkcji Gemini Developer API.
    Dotyczy tylko sytuacji, gdy zamiast operatora Vertex AI Gemini API chcesz użyć operatora Gemini Developer API.

  • Krok 3. Zaktualizuj bibliotekę używaną w aplikacji.

  • Krok 4. Zaktualizuj inicjalizację w aplikacji.

  • Krok 5. Zaktualizuj kod w zależności od używanych funkcji.

Krok 1. Wybierz dla swojej aplikacji najlepszego dostawcę interfejsu „Gemini API”

Podczas migracji możesz wybrać dostawcę „Gemini API”:

  • Stare pakiety SDK „Vertex AI in Firebase” mogły używać tylko interfejsu Vertex AI Gemini API.

  • Nowe pakiety SDK Firebase AI Logic umożliwiają wybranie dostawcy usługi „Gemini API”, do której chcesz się bezpośrednio odwoływać z aplikacji mobilnej lub internetowej – może to być usługa Gemini Developer API lub Vertex AI Gemini API.

Zapoznaj się z różnicami między tymi dwoma usługami Gemini API, zwłaszcza pod kątem obsługiwanych funkcji, cen i limitów stawek. Na przykład usługa Gemini Developer API nie obsługuje przesyłania plików za pomocą adresów URL Cloud Storage, ale może być dobrym wyborem, jeśli chcesz skorzystać z bezpłatnego poziomu i rozsądnej kwoty.

Krok 2. Skonfiguruj projekt Firebase, aby móc korzystać z Gemini Developer API

Ten krok jest wymagany tylko wtedy, gdy chcesz przejść na korzystanie z Gemini Developer API z klienckim zestawem programistycznym Firebase AI Logic. Jeśli jednak chcesz nadal używać Vertex AI Gemini API, przejdź do następnego kroku.

Pamiętaj, że możesz mieć w tym samym projekcie włączone oba interfejsy „Gemini API”.

  1. W konsoli Firebase otwórz stronę Firebase AI Logic.

  2. Otwórz kartę Ustawienia i kliknij Gemini Developer API.

  3. Włącz funkcję Gemini Developer API.

    Konsola sprawdzi, czy wymagane interfejsy API są włączone, i wygeneruje w projekcie Firebase klucz interfejsu API Gemini.
    Nie dodawaj tego klucza interfejsu API Gemini do kodu aplikacji. Więcej informacji

  4. Aby zaktualizować bibliotekę i inicjalizację w aplikacji, przejdź do dalszej części tego przewodnika.

Krok 3. Zaktualizuj bibliotekę używaną w aplikacji

Zaktualizuj kod aplikacji, aby używać biblioteki Firebase AI Logic.

Swift

  1. Po otwarciu projektu aplikacji w Xcode zaktualizuj pakiet Firebase do wersji 11.13.0 lub nowszej, korzystając z jednej z tych opcji:

    • Opcja 1: zaktualizuj wszystkie pakiety: kliknij Plik > Pakiety > Zaktualizuj do najnowszych wersji pakietów.

    • Opcja 2. Aktualizuj Firebase osobno: przejdź do pakietu Firebase w sekcji Zależności pakietu. Kliknij prawym przyciskiem myszy pakiet Firebase, a następnie wybierz Zaktualizuj pakiet.

  2. Upewnij się, że pakiet Firebase ma teraz wersję 11.13.0 lub nowszą. Jeśli tak nie jest, sprawdź, czy określone wymagania dotyczące pakietu umożliwiają aktualizację do wersji 11.13.0 lub nowszej.

  3. W Edytorze projektu wybierz ustawienia docelowe aplikacji, a potem przejdź do sekcji Frameworki, biblioteki i osadzone treści.

  4. Dodaj nową bibliotekę: kliknij przycisk +, a potem dodaj FirebaseAI z pakietu Firebase.

  5. Po zakończeniu migracji aplikacji (patrz pozostałe sekcje tego przewodnika) usuń starą bibliotekę:
    wybierz FirebaseVertexAI, a następnie naciśnij przycisk .

Kotlin

  1. pliku Gradle modułu (na poziomie aplikacji) (zwykle <project>/<app-module>/build.gradle.kts lub <project>/<app-module>/build.gradle) zastąp stare zależności (w odpowiednich przypadkach) podanymi niżej.

    Pamiętaj, że przed usunięciem starej zależności może być łatwiej przenieść kod źródłowy aplikacji (patrz pozostałe sekcje tego przewodnika).

    // 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.14.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. Zsynchronizuj projekt Androida z plikami Gradle.

Jeśli zdecydujesz się nie używać pakietu Firebase Android BoM, po prostu dodaj zależność do biblioteki firebase-ai i zaakceptuj najnowszą wersję sugerowaną przez Android Studio.

Java

  1. pliku Gradle modułu (na poziomie aplikacji) (zwykle <project>/<app-module>/build.gradle.kts lub <project>/<app-module>/build.gradle) zastąp stare zależności (w odpowiednich przypadkach) podanymi niżej.

    Pamiętaj, że przed usunięciem starej zależności może być łatwiej przenieść kod źródłowy aplikacji (patrz pozostałe sekcje tego przewodnika).

    // 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.14.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. Zsynchronizuj projekt Androida z plikami Gradle.

Jeśli zdecydujesz się nie używać pakietu Firebase Android BoM, po prostu dodaj zależność do biblioteki firebase-ai i zaakceptuj najnowszą wersję sugerowaną przez Android Studio.

Web

  1. Pobierz najnowszą wersję pakietu Firebase JS SDK na potrzeby internetu za pomocą npm:

    npm i firebase@latest

    LUB

    yarn add firebase@latest
  2. W miejscach, w których biblioteka została zaimportowana, zaktualizuj instrukcje importowania, aby zamiast tego używać funkcji firebase/ai.

    Pamiętaj, że przed usunięciem starych importów może być łatwiej przenieść kod źródłowy aplikacji (patrz pozostałe sekcje tego przewodnika).

    // 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. Zaktualizuj plik pubspec.yaml, aby używać pakietu firebase_ai, uruchamiając to polecenie w katalogu projektu Flutter:

    flutter pub add firebase_ai
  2. Zbuduj ponownie projekt Fluttera:

    flutter run
  3. Po zakończeniu migracji aplikacji (patrz pozostałe sekcje tego przewodnika) usuń stary pakiet:

    flutter pub remove firebase_vertexai

Unity

W usłudze „Vertex AI w Firebase” nie było dostępne wsparcie dla Unity.

Dowiedz się, jak rozpocząć korzystanie z pakietu SDK Firebase AI Logic dla Unity.

Krok 4. Zaktualizuj inicjalizację w aplikacji

Kliknij dostawcę Gemini API, aby wyświetlić na tej stronie treści i kod związane z tym dostawcą.

Zaktualizuj sposób inicjowania usługi dla wybranego dostawcy interfejsu API i utwórz instancję GenerativeModel.

Swift


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

Obsługa Unity nie była dostępna w ramach usługi „Vertex AI w Firebase”.

Dowiedz się, jak rozpocząć korzystanie z pakietu SDK Firebase AI Logic dla Unity.

Pamiętaj, że w zależności od używanej funkcji możesz nie zawsze tworzyć instancję GenerativeModel.

Krok 5. Zaktualizuj kod w zależności od używanych funkcji

Ten krok opisuje zmiany, które mogą być wymagane w zależności od tego, z których funkcji korzystasz.

  • Jeśli używasz adresów URL Cloud Storage i, które zostały zastąpione, aby używać adresów Gemini Developer API w ramach tej migracji, musisz zaktualizować swoje multimodalne żądania, aby uwzględniać pliki jako dane wbudowane (lub używać adresów URL filmów w YouTube).

  • Sprawdź te listy, aby dowiedzieć się, jakie zmiany należy wprowadzić w kodzie, aby korzystać z pakietu SDK Firebase AI Logic.

Swift

Bez dodatkowych zmian.

Kotlin

  • Live API

    • Usunięto wartość UNSPECIFIED dla klasy wyliczeń ResponseModality. Zamiast tego użyj null.

Java

  • Live API

    • Usunięto wartość UNSPECIFIED dla klasy wyliczeń ResponseModality. Zamiast tego użyj null.
  • Zmieniono różne metody budowania w Javie, aby zamiast typu void zwracały one teraz instancję klasy.

Web

Zmiany wymagane tylko wtedy, gdy zaczynasz używać wersji Gemini Developer API (zamiast wersji Vertex AI Gemini API):

  • Ustawienia bezpieczeństwa

    • Usunięto użycie nieobsługiwanego znaku SafetySetting.method.
  • Dane w wierszu

    • Usunięto użycie nieobsługiwanego znaku InlineDataPart.videoMetadata.

Dart

Bez dodatkowych zmian.

Unity

Pomoc dotycząca Unity nie była dostępna w ramach „Vertex AI in Firebase”.

Dowiedz się, jak rozpocząć korzystanie z pakietu SDK Firebase AI Logic dla Unity.


Prześlij opinię o swoich wrażeniach związanych z usługą Firebase AI Logic