Esegui la migrazione agli SDK Firebase AI Logic dalla versione GA di Vertex AI negli SDK Firebase


Firebase AI Logic e i relativi SDK client in precedenza si chiamavano "Vertex AI in Firebase". Per riflettere meglio i nostri servizi e le nostre funzionalità ampliate (ad esempio, ora supportiamo Gemini Developer API), abbiamo rinominato e raggruppato i nostri servizi in Firebase AI Logic.

Per accedere in sicurezza ai modelli di IA generativa di Google direttamente dalle tue app web o mobile, ora puoi scegliere un fornitore di "Gemini API", ovvero Vertex AI Gemini API, già disponibile da tempo, o Gemini Developer API. Ciò significa che ora hai la possibilità di utilizzare Gemini Developer API, che offre un livello senza costi con limiti di tariffa e quote ragionevoli.

Panoramica dei passaggi per eseguire la migrazione agli SDK Firebase AI Logic

  • Passaggio 1: scegli il fornitore di "Gemini API" migliore per la tua app e i tuoi casi d'uso.

  • Passaggio 2: configura il progetto Firebase in modo da poter utilizzare il Gemini Developer API.
    Applicabile solo se stai passando all'utilizzo di Gemini Developer API instead of Vertex AI Gemini API.

  • Passaggio 3: aggiorna la libreria utilizzata nella tua app.

  • Passaggio 4: aggiorna l'inizializzazione nell'app.

  • Passaggio 5: aggiorna il codice in base alle funzionalità che utilizzi.

Passaggio 1: scegli il miglior provider "API Gemini" per la tua app

Con questa migrazione, hai a disposizione un'opzione per il provider "Gemini API":

  • I vecchi SDK "Vertex AI in Firebase" potevano utilizzare solo Vertex AI Gemini API.

  • I nuovi SDK Firebase AI Logic ti consentono di scegliere il fornitore "Gemini API" da chiamare direttamente dalla tua app web o mobile, ovvero Gemini Developer API o Vertex AI Gemini API.

Esamina le differenze tra l'utilizzo dei due fornitori Gemini API, soprattutto in termini di funzionalità supportate, prezzi e limiti di frequenza. Ad esempio, Gemini Developer API non supporta la fornitura di file utilizzando URL Cloud Storage, ma potrebbe essere una buona scelta se vuoi usufruire del suo livello senza costi e della sua quota ragionevole.

Passaggio 2: configura il tuo progetto Firebase in modo da poter utilizzare Gemini Developer API

Questo passaggio è obbligatorio solo se vuoi passare all'utilizzo di Gemini Developer API con gli SDK client Firebase AI Logic. Tuttavia, se vuoi continuare a utilizzare Vertex AI Gemini API, vai al passaggio successivo.

Tieni presente che è consentito attivare contemporaneamente entrambi i provider "API Gemini" nel tuo progetto.

  1. Nella console Firebase, vai alla pagina Firebase AI Logic.

  2. Vai alla scheda Impostazioni e seleziona Gemini Developer API.

  3. Attiva Gemini Developer API.

    La console si assicurerà che le API richieste siano abilitate e genererà una chiave API Gemini nel tuo progetto Firebase.
    Non aggiungere questa chiave API Gemini al codice di base della tua app. Scopri di più.

  4. Continua questa guida alla migrazione per aggiornare la libreria e l'inizializzazione nell'app.

Passaggio 3: aggiorna la libreria utilizzata nell'app

Aggiorna la base di codice dell'app per utilizzare la libreria Firebase AI Logic.

Swift

  1. In Xcode, con il progetto dell'app aperto, aggiorna il pacchetto Firebase alla versione 11.13.0 o successiva utilizzando una delle seguenti opzioni:

    • Opzione 1: aggiorna tutti i pacchetti: vai a File > Pacchetti > Aggiorna alle ultime versioni dei pacchetti.

    • Opzione 2: aggiorna Firebase singolarmente: vai al pacchetto Firebase nella sezione Dipendenze del pacchetto. Fai clic con il tasto destro del mouse sul package Firebase e seleziona Aggiorna package.

  2. Assicurati che il pacchetto Firebase ora mostri la versione 11.13.0 o successiva. In caso contrario, verifica che i Requisiti del pacchetto specificati consentano l'aggiornamento alla versione 11.13.0 o successive.

  3. Seleziona il target della tua app in Project Editor e vai alla sezione Framework, librerie e contenuti incorporati.

  4. Aggiungi la nuova libreria: seleziona il pulsante + e poi aggiungi FirebaseAI dal pacchetto Firebase.

  5. Dopo aver completato la migrazione dell'app (consulta le sezioni rimanenti di questa guida), assicurati di rimuovere la vecchia libreria:
    seleziona FirebaseVertexAI, quindi premi il pulsante .

Kotlin

  1. Nel file Gradle del modulo (a livello di app) (di solito <project>/<app-module>/build.gradle.kts o <project>/<app-module>/build.gradle), sostituisci le vecchie dipendenze (se applicabili) con quanto segue.

    Tieni presente che potrebbe essere più facile eseguire la migrazione della base di codice dell'app (consulta le sezioni rimanenti di questa guida) prima di eliminare la vecchia dipendenza.

    // 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. Sincronizza il tuo progetto Android con i file Gradle.

Tieni presente che se scegli di non utilizzare Firebase Android BoM, devi solo aggiungere la dipendenza per la libreria firebase-ai e accettare la versione più recente suggerita da Android Studio.

Java

  1. Nel file Gradle del modulo (a livello di app) (di solito <project>/<app-module>/build.gradle.kts o <project>/<app-module>/build.gradle), sostituisci le vecchie dipendenze (se applicabili) con quanto segue.

    Tieni presente che potrebbe essere più facile eseguire la migrazione della base di codice dell'app (consulta le sezioni rimanenti di questa guida) prima di eliminare la vecchia dipendenza.

    // 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. Sincronizza il tuo progetto Android con i file Gradle.

Tieni presente che se scegli di non utilizzare Firebase Android BoM, devi solo aggiungere la dipendenza per la libreria firebase-ai e accettare la versione più recente suggerita da Android Studio.

Web

  1. Ottieni la versione più recente dell'SDK Firebase JS per il web utilizzando npm:

    npm i firebase@latest

    OPPURE

    yarn add firebase@latest
  2. Ovunque tu abbia importato la libreria, aggiorna le istruzioni di importazione in modo da utilizzare firebase/ai.

    Tieni presente che potrebbe essere più facile eseguire la migrazione della base di codice dell'app (consulta le sezioni rimanenti di questa guida) prima di eliminare le vecchie importazioni.

    // 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. Aggiorna l'utilizzo del pacchetto firebase_ai nel file pubspec.yaml eseguendo il seguente comando dalla directory del progetto Flutter:

    flutter pub add firebase_ai
  2. Ricostruisci il progetto Flutter:

    flutter run
  3. Dopo aver completato la migrazione dell'app (consulta le sezioni rimanenti di questa guida), assicurati di eliminare il vecchio pacchetto:

    flutter pub remove firebase_vertexai

Unity

Il supporto di Unity non era disponibile da "Vertex AI in Firebase".

Scopri come iniziare a utilizzare l'SDK Firebase AI Logic per Unity.

Passaggio 4: aggiorna l'inizializzazione nell'app

Fai clic sul tuo fornitore Gemini API per visualizzare i contenuti e il codice specifici del fornitore in questa pagina.

Aggiorna la modalità di inizializzazione del servizio per il provider dell'API scelto e crea un'istanza 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

Il supporto di Unity non era disponibile in "Vertex AI in Firebase".

Scopri come iniziare a utilizzare l'SDK Firebase AI Logic per Unity.

Tieni presente che a seconda della funzionalità in uso, potresti non creare sempre un'istanza GenerativeModel.

Passaggio 5: aggiorna il codice in base alle funzionalità che utilizzi

Questo passaggio descrive le modifiche che potrebbero essere necessarie a seconda delle funzionalità che utilizzi.

  • Se utilizzi gli URL Cloud Storage e hai iniziato a utilizzare Gemini Developer API in questa migrazione, devi aggiornare le richieste multimodali in modo da includere i file come dati in linea (o utilizzare gli URL di YouTube per i video).

  • Esamina i seguenti elenchi per verificare eventuali modifiche che potresti dover apportare al codice per poter utilizzare l'SDK Firebase AI Logic.

Swift

Nessuna modifica aggiuntiva.

Kotlin

  • Live API

    • È stato rimosso il valore UNSPECIFIED per la classe enum ResponseModality. Utilizza null.

Java

  • Live API

    • È stato rimosso il valore UNSPECIFIED per la classe enum ResponseModality. Utilizza null.
  • Sono stati modificati vari metodi di creazione Java in modo che ora restituiscano correttamente l'istanza della loro classe anziché void.

Web

Modifiche necessarie solo se inizi a utilizzareGemini Developer API (anziché Vertex AI Gemini API):

  • Impostazioni di sicurezza

    • Sono stati rimossi gli utilizzi di SafetySetting.method non supportati.
  • Dati in linea

    • Sono stati rimossi gli utilizzi di InlineDataPart.videoMetadata non supportati.

Dart

Nessuna modifica aggiuntiva.

Unity

Il supporto di Unity non era disponibile da "Vertex AI in Firebase".

Scopri come iniziare a utilizzare l'SDK Firebase AI Logic per Unity.


Inviare un feedback sulla tua esperienza con Firebase AI Logic