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:
Configurez un projet Firebase nouveau ou existant, puis associez votre application à Firebase.
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.
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 ?
- Google AI et Vertex AI proposent une expérience de "laboratoire" d'UI Web appelée "AI Studio" pour tester les requêtes et les paramètres de modèle. Découvrez comment migrer vos requêtes Google AI Studio vers Vertex AI Studio dans la documentation Google Cloud.