Migrer pour utiliser les SDK Vertex AI au lieu des SDK Google AI

Cette page explique comment passer des SDK client Google AI aux SDK client Vertex AI in Firebase dans vos applications mobiles ou Web. Les SDK Vertex AI in Firebase sont disponibles pour les plates-formes Apple (Swift), Android (Kotlin et Java), le Web (JavaScript) et Flutter (Dart).

Accéder directement aux instructions de migration

Pourquoi passer à Vertex AI ?

Vous avez peut-être essayé une autre version d'un Gemini API à l'aide de Google AI Studio ou des SDK client Google AI. Ces SDK sont utiles pour commencer à utiliser Gemini API et le prototypage. Toutefois, pour les applications mobiles et Web de production ou d'entreprise qui appellent directement un Gemini API côté client, Firebase recommande vivement d'appeler l'Vertex AI Gemini API à l'aide de nos SDK Firebase.

Fonctionnalités de sécurité pour les applications mobiles et Web

Pour les applications mobiles et Web, la sécurité est essentielle et nécessite des considérations particulières, car votre code (y compris les appels à Gemini API) s'exécute dans un environnement non protégé.

  • Par défaut, le Vertex AI Gemini API est autorisé par IAM Google Cloud (plutôt que par une clé API comme Google AI Gemini API). Les SDK Vertex AI in Firebase sont conçus pour appeler le Vertex AI Gemini API le plus sécurisé.

  • Pour les applications mobiles et Web, vous devez protéger Gemini API et les ressources de votre projet (comme les modèles optimisés) contre toute utilisation abusive par des clients non autorisés. Vous pouvez utiliser Firebase App Check pour vérifier que tous les appels d'API proviennent de votre application réelle. Cette fonctionnalité n'est disponible que si vous utilisez les SDK Vertex AI in Firebase.

Écosystème conçu pour les applications mobiles et Web

Firebase est la plate-forme de Google pour le développement d'applications mobiles et Web. L'utilisation des SDK Vertex AI in Firebase signifie que vos applications font partie d'un écosystème axé sur les besoins des développeurs et des applications full stack. Par exemple, vous pouvez effectuer l'une des opérations suivantes et bien plus:

  • Utilisez Cloud Storage for Firebase pour inclure de gros fichiers dans vos requêtes multimodales. Profitez également des SDK clients qui gèrent les téléchargements et les importations de fichiers (même en cas de mauvaise qualité du réseau) et offrent une sécurité accrue pour les données de vos utilisateurs finaux. Pour en savoir plus, consultez notre guide de solution sur l'utilisation de Cloud Storage for Firebase.

  • Gérez les données structurées à l'aide de SDK de base de données conçus pour les applications mobiles et Web (comme Cloud Firestore).

  • Définissez de manière dynamique des configurations d'exécution (comme l'emplacement) ou remplacez des valeurs dans votre application (comme un nom de modèle) sans publier de nouvelle version de l'application à l'aide de Firebase Remote Config.

Avantages supplémentaires de l'utilisation de Vertex AI à partir de Google Cloud

À mesure que vous utiliserez l'IA générative dans votre application et vos workflows, vous aurez peut-être besoin d'une plate-forme proposant des solutions de bout en bout pour créer et déployer des applications d'IA générative. Google Cloud fournit un écosystème complet d'outils pour vous permettre d'exploiter la puissance de l'IA générative, depuis les étapes initiales du développement de l'application jusqu'à son déploiement, en passant par son hébergement et la gestion de données complexes à grande échelle.

La plate-forme Vertex AI de Google Cloud propose une suite d'outils MLOps qui simplifient l'utilisation, le déploiement et la surveillance des modèles d'IA pour plus d'efficacité et de fiabilité. De plus, les intégrations avec des bases de données, des outils DevOps, la journalisation, la surveillance et IAM offrent une approche globale pour gérer l'intégralité du cycle de vie de l'IA générative.

Pour en savoir plus sur les cas d'utilisation de Vertex AI, consultez la documentation Google Cloud.

Migrer vers les SDK Vertex AI in Firebase

La migration vers les SDK Vertex AI in Firebase nécessite trois étapes principales:

  1. Configurez un projet Firebase nouveau ou existant, puis associez votre application à Firebase.

  2. Migrez votre codebase, ce qui ne nécessite que de modifier le SDK et le code d'initialisation (y compris le nom du modèle). Aucune modification n'est nécessaire pour le code qui appelle réellement l'API Gemini.

  3. Supprimez les clés API inutilisées et désactivez les API inutilisées.

Étape 1: Configurer un projet Firebase et associer votre application à Firebase

Même si vous connaissez déjà Firebase, consultez cette section pour vous assurer que votre projet et votre application Firebase sont configurés pour utiliser les SDK Vertex AI in Firebase.

Étape 2: Migrez votre codebase

Sélectionnez la plate-forme de votre application pour afficher les instructions spécifiques à cette plate-forme.

Les SDK Google AI et Vertex AI in Firebase ont été conçus pour que la migration entre les deux plates-formes soit aussi simple que possible.

Pour effectuer la migration, il vous suffit de modifier le SDK que vous intégrez au codebase de votre application, ainsi que l'initialisation du service et du modèle génératif. Vous n'avez pas besoin de modifier le code qui appelle réellement Gemini API.

Modifier le 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")
}

Modifier l'initialisation

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);

Mettre à jour les importations

Les extraits de code suivants utilisent les classes Chat, Content et GenerativeModelFutures comme exemples, mais la même chose devrait s'appliquer aux autres classes portant le même nom de package.

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;

Étape 3: Supprimez les clés API inutilisées et désactivez les API inutilisées

Si vous n'avez plus besoin d'utiliser votre clé API Google AI, suivez les bonnes pratiques de sécurité et supprimez-la. Vous pouvez afficher et supprimer vos clés API Google AI dans la section Clés API de Google AI Studio.

De plus, si vous n'utilisez plus Google AI Gemini API, désactivez-le dans votre projet. Pour ce faire, accédez à la console Google Cloud depuis la page API Generative Language (generativelanguage.googleapis.com). ("API Generative Language" est le nom officiel de l'Google AI Gemini API.)

Qu'est-ce que tu sais faire d'autre ?