Questa pagina descrive come eseguire la migrazione dagli SDK client Google AI agli SDK client Vertex AI in Firebase nelle tue app mobile o web. Gli SDK Vertex AI in Firebase sono disponibili per le piattaforme Apple (Swift), Android (Kotlin e Java), web (JavaScript) e Flutter (Dart).
Vai direttamente alle istruzioni per la migrazione
Perché eseguire la migrazione per utilizzare Vertex AI?
Potresti aver provato una versione alternativa di un Gemini API utilizzando Google AI Studio o gli SDK client Google AI. Questi SDK sono utili per iniziare a utilizzare Gemini API e per la prototipazione. Tuttavia, per le app web e mobile di produzione o scala enterprise che chiamano direttamente un codice lato client Gemini API, Firebase consiglia vivamente di chiamare Vertex AI Gemini API utilizzando i nostri SDK Firebase.
Funzionalità di sicurezza per app web e mobile
Per le app mobile e web, la sicurezza è fondamentale e richiede considerazioni speciali perché il codice (incluse le chiamate a Gemini API) viene eseguito in un ambiente non protetto.
Per impostazione predefinita, il Vertex AI Gemini API è autorizzato da Google Cloud IAM (anziché da una chiave API come Google AI Gemini API). Gli SDK Vertex AI in Firebase sono progettati per chiamare il Vertex AI Gemini API più sicuro.
Per le app mobile e web, devi proteggere Gemini API e le risorse del tuo progetto (come i modelli ottimizzati) da abusi da parte di client non autorizzati. Puoi usare Firebase App Check per verificare che tutte le chiamate API provengano dalla tua app effettiva. Questa funzionalità è disponibile solo se utilizzi gli SDK Vertex AI in Firebase.
Ecosistema creato per app web e mobile
Firebase è la piattaforma di Google per lo sviluppo di app web e mobile. L'utilizzo degli SDK Vertex AI in Firebase significa che le tue app si trovano in un ecosistema incentrato sulle esigenze di app e sviluppatori full-stack. Ad esempio, puoi eseguire una delle seguenti operazioni e molto altro:
Utilizza Cloud Storage for Firebase per includere file di grandi dimensioni nelle richieste multimodali. Inoltre, puoi utilizzare gli SDK client che gestiscono i caricamenti e i download dei file (anche in condizioni di rete scadenti) e offrono una maggiore sicurezza per i dati degli utenti finali. Scopri di più nella nostra guida alla soluzione sull'utilizzo di Cloud Storage for Firebase.
Gestisci i dati strutturati utilizzando gli SDK di database creati per app web e mobile (ad es. Cloud Firestore).
Imposta dinamicamente le configurazioni di runtime (ad esempio la posizione) o scambia i valori nella tua app (ad esempio il nome di un modello) senza rilasciare una nuova versione dell'app utilizzando Firebase Remote Config.
Ulteriori vantaggi dell'utilizzo di Vertex AI da Google Cloud
Man mano che l'utilizzo dell'IA generativa nelle tue app e nei tuoi flussi di lavoro diventa più avanzato, potresti aver bisogno di una piattaforma che offra soluzioni end-to-end per la creazione e il deployment di applicazioni di IA generativa. Google Cloud fornisce un ecosistema completo di strumenti per consentirti di sfruttare la potenza dell'IA generativa, dalle fasi iniziali dello sviluppo delle app al loro deployment, all'hosting e alla gestione di dati complessi su larga scala.
La piattaforma Vertex AI di Google Cloud offre una suite di strumenti MLOps che semplificano l'utilizzo, il deployment e il monitoraggio dei modelli di IA per garantire efficienza e affidabilità. Inoltre, le integrazioni con database, strumenti DevOps, logging, monitoraggio e IAM forniscono un approccio olistico per gestire l'intero ciclo di vita dell'IA generativa.
Scopri di più sui casi d'uso di Vertex AI nella documentazione di Google Cloud.
Esegui la migrazione agli SDK Vertex AI in Firebase
La migrazione agli SDK Vertex AI in Firebase richiede tre passaggi principali:
Configura un progetto Firebase nuovo o esistente e collega la tua app a Firebase.
Esegui la migrazione della codebase, che richiede solo la modifica dell'SDK e del codice di inizializzazione (incluso il nome del modello). Non è necessaria alcuna modifica al codice che chiama l'API Gemini.
Elimina le chiavi API inutilizzate e disattiva le API inutilizzate.
Passaggio 1: configura un progetto Firebase e collega la tua app a Firebase
Anche se hai già dimestichezza con Firebase, consulta questa sezione per assicurarti che il progetto e l'app Firebase siano configurati per utilizzare gli SDKVertex AI in Firebase.
Passaggio 2: esegui la migrazione della base di codice
Seleziona la piattaforma della tua app per visualizzare le istruzioni specifiche della piattaforma.
Gli SDK Google AI e Vertex AI in Firebase sono stati sviluppati in modo che la migrazione tra le due piattaforme sia il più semplice possibile.
Per eseguire la migrazione, devi solo cambiare l'SDK che integri nel codebase della tua app e l'inizializzazione del servizio e del modello generativo. Non è necessario modificare il codice che chiama Gemini API.
Modificare l'SDK
Google AI
Kotlin+KTX
dependencies {
// ... other androidx dependencies
// add the dependency for the Google AI client SDK for Android
implementation("com.google.ai.client.generativeai:generativeai:VERSION")
}
Java
dependencies {
// ... other androidx dependencies
// add the dependency for the Google AI client SDK for Android
implementation("com.google.ai.client.generativeai:generativeai:VERSION")
// Required for one-shot operations (to use `ListenableFuture` from Reactive Streams)
implementation("com.google.guava:guava:31.0.1-android")
// Required for streaming operations (to use `Publisher` from Guava Android)
implementation("org.reactivestreams:reactive-streams:1.0.4")
}
Vertex AI in Firebase
Kotlin+KTX
dependencies {
// ... other androidx dependencies
// add the dependency for the Vertex AI in Firebase SDK for Android
implementation("com.google.firebase:firebase-vertexai:16.0.2")
}
Java
dependencies {
// ... other androidx dependencies
// add the dependency for the Vertex AI in Firebase SDK for Android
implementation("com.google.firebase:firebase-vertexai:16.0.2")
// Required for one-shot operations (to use `ListenableFuture` from Guava Android)
implementation("com.google.guava:guava:31.0.1-android")
// Required for streaming operations (to use `Publisher` from Reactive Streams)
implementation("org.reactivestreams:reactive-streams:1.0.4")
}
Modificare l'inizializzazione
Google AI
Kotlin+KTX
val generativeModel = GenerativeModel(modelName = "MODEL_NAME",
// Access your API key as a Build Configuration variable
apiKey = BuildConfig.apiKey
)
Java
GenerativeModel gm = new GenerativeModel("MODEL_NAME",
// Access your API key as a Build Configuration variable
BuildConfig.apiKey
);
// Use the GenerativeModelFutures Java compatibility layer which offers support for ListenableFuture and Publisher APIs
GenerativeModelFutures model = GenerativeModelFutures.from(gm);
Vertex AI in Firebase
Kotlin+KTX
val generativeModel = Firebase.vertexAI.generativeModel("MODEL_NAME")
Java
GenerativeModel gm = FirebaseVertexAI.getInstance()
.generativeModel("MODEL_NAME");
GenerativeModelFutures model = GenerativeModelFutures.from(gm);
Aggiorna le importazioni
I seguenti snippet di codice utilizzano le classi Chat
, Content
e GenerativeModelFutures
come esempi, ma lo stesso vale per altre classi con lo stesso nome del pacchetto.
Google AI
Kotlin+KTX
import com.google.ai.client.generativeai.Chat
import com.google.ai.client.generativeai.type.Content
import com.google.ai.client.generativeai.java.GenerativeModuleFutures
Java
import com.google.ai.client.generativeai.Chat;
import com.google.ai.client.generativeai.type.Content;
import com.google.ai.client.generativeai.java.GenerativeModuleFutures;
Vertex AI in Firebase
Kotlin+KTX
import com.google.firebase.vertexai.Chat
import com.google.firebase.vertexai.type.Content
import com.google.firebase.vertexai.java.GenerativeModuleFutures
Java
import com.google.firebase.vertexai.Chat;
import com.google.firebase.vertexai.type.Content;
import com.google.firebase.vertexai.java.GenerativeModuleFutures;
Passaggio 3: elimina le chiavi API non utilizzate e disattiva le API non utilizzate
Se non hai più bisogno di utilizzare la chiave API Google AI, segui le best practice per la sicurezza ed eliminala. Puoi visualizzare ed eliminare le chiavi API di Google AI nella sezione Chiavi API di Google AI Studio.
Inoltre, se non utilizzi più Google AI Gemini API, disattivalo nel
tuo progetto. Puoi farlo nella console Google Cloud dalla
pagina API Generative Language (generativelanguage.googleapis.com
). ("API Generative Language" è il nome ufficiale di
Google AI Gemini API.)
Cos'altro puoi fare?
- Sia Google AI che Vertex AI offrono un'esperienza di "laboratorio" con interfaccia utente web chiamata "AI Studio" per sperimentare con i prompt e i parametri del modello. Scopri come eseguire la migrazione dei prompt Google AI Studio a Vertex AI Studio nella documentazione di Google Cloud.