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.
Se vuoi continuare a utilizzare Vertex AI Gemini API:
Salta il passaggio successivo e vai direttamente all'aggiornamento della raccolta nell'app, quindi al resto di questa guida.Se vuoi passare all'API Gemini Developer API:
passa al passaggio successivo per configurare il progetto Firebase in modo da utilizzare l'API, e poi al resto di questa guida.
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.
Nella console Firebase, vai alla pagina Firebase AI Logic.
Vai alla scheda Impostazioni e seleziona Gemini Developer API.
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ù.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
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.
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.
Seleziona il target della tua app in Project Editor e vai alla sezione Framework, librerie e contenuti incorporati.
Aggiungi la nuova libreria: seleziona il pulsante + e poi aggiungi FirebaseAI dal pacchetto Firebase.
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
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 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") }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
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 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") }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
Ottieni la versione più recente dell'SDK Firebase JS per il web utilizzando npm:
npm i firebase@latest
OPPURE
yarn add firebase@latest
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
Aggiorna l'utilizzo del pacchetto
firebase_ai
nel filepubspec.yaml
eseguendo il seguente comando dalla directory del progetto Flutter:flutter pub add firebase_ai
Ricostruisci il progetto Flutter:
flutter run
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 Vertex AI Gemini API backend service
let ai = FirebaseAI.firebaseAI(backend: .vertexAI())
// Create a `GenerativeModel` instance with a model that supports your use case
let model = ai.generativeModel(modelName: "gemini-2.0-flash")
Kotlin
// Initialize the Vertex AI Gemini API backend service
// Create a `GenerativeModel` instance with a model that supports your use case
val model = Firebase.ai(backend = GenerativeBackend.vertexAI())
.generativeModel("gemini-2.0-flash")
Java
// Initialize the Vertex AI Gemini API backend service
// Create a `GenerativeModel` instance with a model that supports your use case
GenerativeModel ai = FirebaseAI.getInstance(GenerativeBackend.vertexAI())
.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, VertexAIBackend } 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 Vertex AI Gemini API backend service
const ai = getAI(firebaseApp, { backend: new VertexAIBackend() });
// 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 Vertex AI Gemini API backend service
// Create a `GenerativeModel` instance with a model that supports your use case
final model =
FirebaseAI.vertexAI().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
.
- Per accedere a un modello Imagen,
crea un'istanza
ImagenModel
. - Per eseguire lo streaming di input e output utilizzando Gemini Live API,
crea un'istanza
LiveModel
.
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 enumResponseModality
. Utilizzanull
.
- È stato rimosso il valore
Java
Live API
- È stato rimosso il valore
UNSPECIFIED
per la classe enumResponseModality
. Utilizzanull
.
- È stato rimosso il valore
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.
- Sono stati rimossi gli utilizzi di
Dati in linea
- Sono stati rimossi gli utilizzi di
InlineDataPart.videoMetadata
non supportati.
- Sono stati rimossi gli utilizzi di
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