Esegui la migrazione per usare gli SDK Vertex AI anziché gli SDK Google AI

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 il prototipaggio. Tuttavia, per le app web e mobile di produzione o scala enterprise che chiamano direttamente un Gemini API lato client, 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 token 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 token 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 (come la località) o sostituisci i valori nell'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 AI 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:

  1. Configura un progetto Firebase nuovo o esistente e collega la tua app a Firebase.

  2. Esegui la migrazione della codebase, che richiede solo la modifica dell'SDK e del codice di inizializzazione (incluso il nome del modello). Non sono necessarie modifiche al codice che chiama effettivamente l'API Gemini.

  3. 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 SDK Vertex 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 effettivamente 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 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 inutilizzate e disabilita le API inutilizzate

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?