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.
Jeśli chcesz nadal używać Vertex AI Gemini API:
pomiń następny krok i przejdź od razu do aktualizowania biblioteki w aplikacji, a potem do reszty tego przewodnika.Jeśli chcesz przejść na interfejs Gemini Developer API:
przejdź do następnego kroku, aby skonfigurować projekt Firebase do korzystania z tego interfejsu API, a potem kontynuuj czytanie tego przewodnika.
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”.
W konsoli Firebase otwórz stronę Firebase AI Logic.
Otwórz kartę Ustawienia i kliknij Gemini Developer API.
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 informacjiAby 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
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.
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.
W Edytorze projektu wybierz ustawienia docelowe aplikacji, a potem przejdź do sekcji Frameworki, biblioteki i osadzone treści.
Dodaj nową bibliotekę: kliknij przycisk +, a potem dodaj FirebaseAI z pakietu Firebase.
Po zakończeniu migracji aplikacji (patrz pozostałe sekcje tego przewodnika) usuń starą bibliotekę:
wybierz FirebaseVertexAI, a następnie naciśnij przycisk —.
Kotlin
W 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 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.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") }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
W 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 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.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") }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
Pobierz najnowszą wersję pakietu Firebase JS SDK na potrzeby internetu za pomocą npm:
npm i firebase@latest
LUB
yarn add firebase@latest
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
Zaktualizuj plik
pubspec.yaml
, aby używać pakietufirebase_ai
, uruchamiając to polecenie w katalogu projektu Flutter:flutter pub add firebase_ai
Zbuduj ponownie projekt Fluttera:
flutter run
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
.
- Aby uzyskać dostęp do modelu Imagen, utwórz instancję
ImagenModel
.
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żyjnull
.
- Usunięto wartość
Java
Live API
- Usunięto wartość
UNSPECIFIED
dla klasy wyliczeńResponseModality
. Zamiast tego użyjnull
.
- Usunięto wartość
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
.
- Usunięto użycie nieobsługiwanego znaku
Dane w wierszu
- Usunięto użycie nieobsługiwanego znaku
InlineDataPart.videoMetadata
.
- Usunięto użycie nieobsługiwanego znaku
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