Premiers pas avec l'API Gemini à l'aide de Vertex AI dans les SDK Firebase

Ce guide vous explique comment commencer à effectuer des appels à Vertex AI Gemini API directement à partir de votre application à l'aide du SDK Vertex AI in Firebase pour la plate-forme de votre choix.

Notez que vous pouvez également utiliser ce guide pour commencer à accéder aux modèles Imagen à l'aide des SDK Vertex AI in Firebase.

Prérequis

Swift

Ce guide part du principe que vous savez utiliser Xcode pour développer des applications pour les plates-formes Apple (comme iOS).

  • Assurez-vous que votre environnement de développement et votre application pour les plates-formes Apple répondent aux exigences suivantes:

    • Xcode 16.2 ou version ultérieure
    • Votre application cible iOS 15 ou version ultérieure, ou macOS 12 ou version ultérieure
  • (Facultatif) Découvrez l'application exemple.

    Télécharger l'application de démarrage rapide

    Vous pouvez tester rapidement le SDK, voir une implémentation complète de différents cas d'utilisation ou utiliser l'application exemple si vous ne disposez pas de votre propre application pour les plates-formes Apple. Pour utiliser l'application exemple, vous devez l'associer à un projet Firebase.

Kotlin

Ce guide suppose que vous savez utiliser Android Studio pour développer des applications pour Android.

  • Assurez-vous que votre environnement de développement et votre application Android répondent aux exigences suivantes:

    • Android Studio (dernière version)
    • Votre application cible le niveau d'API 21 ou supérieur.
  • (Facultatif) Découvrez l'application exemple.

    Téléchargez l'exemple d'application

    Vous pouvez tester rapidement le SDK, voir une implémentation complète de différents cas d'utilisation ou utiliser l'application exemple si vous ne disposez pas de votre propre application Android. Pour utiliser l'application exemple, vous devez l'associer à un projet Firebase.

Java

Ce guide suppose que vous savez utiliser Android Studio pour développer des applications pour Android.

  • Assurez-vous que votre environnement de développement et votre application Android répondent aux exigences suivantes:

    • Android Studio (dernière version)
    • Votre application cible le niveau d'API 21 ou supérieur.
  • (Facultatif) Découvrez l'application exemple.

    Téléchargez l'exemple d'application

    Vous pouvez tester rapidement le SDK, voir une implémentation complète de différents cas d'utilisation ou utiliser l'application exemple si vous ne disposez pas de votre propre application Android. Pour utiliser l'application exemple, vous devez l'associer à un projet Firebase.

Web

Ce guide part du principe que vous savez utiliser JavaScript pour développer des applications Web. Ce guide est indépendant du framework.

  • Assurez-vous que votre environnement de développement et votre application Web répondent aux exigences suivantes:

    • (Facultatif) Node.js
    • Navigateur Web moderne
  • (Facultatif) Découvrez l'application exemple.

    Téléchargez l'exemple d'application

    Vous pouvez tester rapidement le SDK, voir une implémentation complète de différents cas d'utilisation ou utiliser l'application exemple si vous ne disposez pas de votre propre application Web. Pour utiliser l'application exemple, vous devez l'associer à un projet Firebase.

Dart

Ce guide part du principe que vous savez développer des applications avec Flutter.

  • Assurez-vous que votre environnement de développement et votre application Flutter répondent aux exigences suivantes:

    • Dart 3.2.0 et versions ultérieures
  • (Facultatif) Découvrez l'application exemple.

    Téléchargez l'exemple d'application

    Vous pouvez tester rapidement le SDK, voir une implémentation complète de différents cas d'utilisation ou utiliser l'application exemple si vous ne disposez pas de votre propre application Flutter. Pour utiliser l'application exemple, vous devez l'associer à un projet Firebase.

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

Si vous disposez déjà d'un projet Firebase et d'une application connectée à Firebase

  1. Dans la console Firebase, accédez à la page Vertex AI.

  2. Cliquez sur la fiche Vertex AI in Firebase pour lancer un workflow qui vous aide à effectuer les tâches suivantes:

  3. Passez à l'étape suivante de ce guide pour ajouter le SDK à votre application.

Si vous ne disposez pas encore d'un projet Firebase et d'une application associée à Firebase


Étape 2: Ajouter le SDK

Une fois votre projet Firebase configuré et votre application associée à Firebase (voir étape précédente), vous pouvez ajouter le SDK Vertex AI in Firebase à votre application.

Swift

Utilisez Swift Package Manager pour installer et gérer les dépendances Firebase.

La bibliothèque Vertex AI in Firebase permet d'accéder aux API pour interagir avec les modèles Gemini et Imagen. La bibliothèque est incluse dans le SDK Firebase pour les plates-formes Apple (firebase-ios-sdk).

  1. Dans Xcode, à partir de votre projet d'application ouvert, accédez à File > Add Packages (Fichier > Ajouter des packages).

  2. Lorsque vous y êtes invité, ajoutez le dépôt du SDK des plates-formes Firebase pour Apple :

    https://github.com/firebase/firebase-ios-sdk
    
  3. Sélectionnez la dernière version du SDK.

  4. Sélectionnez la bibliothèque FirebaseVertexAI.

Lorsque vous avez terminé, Xcode commence à résoudre et à télécharger automatiquement vos dépendances en arrière-plan.

Kotlin

Le SDK Vertex AI in Firebase pour Android (firebase-vertexai) fournit un accès aux API permettant d'interagir avec les modèles Gemini et Imagen.

Dans votre fichier Gradle de votre module (au niveau de l'application) (comme <project>/<app-module>/build.gradle.kts), ajoutez la dépendance pour la bibliothèque Vertex AI in Firebase pour Android. Nous vous recommandons d'utiliser Firebase Android BoM pour contrôler le contrôle des versions de la bibliothèque.

dependencies {
  // ... other androidx dependencies

  // Import the BoM for the Firebase platform
  implementation(platform("com.google.firebase:firebase-bom:33.13.0"))

  // Add the dependency for the Vertex AI in Firebase library
  // When using the BoM, you don't specify versions in Firebase library dependencies
  implementation("com.google.firebase:firebase-vertexai")
}

En utilisant Firebase Android BoM, votre application utilisera toujours des versions compatibles des bibliothèques Firebase Android.

Java

Le SDK Vertex AI in Firebase pour Android (firebase-vertexai) fournit un accès aux API permettant d'interagir avec les modèles Gemini et Imagen.

Dans votre fichier Gradle de votre module (au niveau de l'application) (comme <project>/<app-module>/build.gradle.kts), ajoutez la dépendance pour la bibliothèque Vertex AI in Firebase pour Android. Nous vous recommandons d'utiliser Firebase Android BoM pour contrôler le contrôle des versions de la bibliothèque.

Pour Java, vous devez ajouter deux bibliothèques supplémentaires.

dependencies {
  // ... other androidx dependencies

  // Import the BoM for the Firebase platform
  implementation(platform("com.google.firebase:firebase-bom:33.13.0"))

  // Add the dependency for the Vertex AI in Firebase library
  // When using the BoM, you don't specify versions in Firebase library dependencies
  implementation("com.google.firebase:firebase-vertexai")

  // 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")
}

En utilisant Firebase Android BoM, votre application utilisera toujours des versions compatibles des bibliothèques Firebase Android.

Web

La bibliothèque Vertex AI in Firebase permet d'accéder aux API pour interagir avec les modèles Gemini et Imagen. La bibliothèque est incluse dans le SDK JavaScript Firebase pour le Web.

  1. Installez le SDK JS Firebase pour le Web à l'aide de npm:

    npm install firebase
    
  2. Initialisez Firebase dans votre application:

    import { initializeApp } from "firebase/app";
    
    // 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);
    

Dart

Le plug-in Vertex AI in Firebase pour Flutter (firebase_vertexai) permet d'accéder aux API pour interagir avec les modèles Gemini et Imagen.

  1. À partir du répertoire de votre projet Flutter, exécutez la commande suivante pour installer le plug-in principal et le plug-in Vertex AI in Firebase:

    flutter pub add firebase_core && flutter pub add firebase_vertexai
    
  2. Dans votre fichier lib/main.dart, importez le plug-in principal Firebase, le plug-in Vertex AI in Firebase et le fichier de configuration que vous avez généré précédemment:

    import 'package:firebase_core/firebase_core.dart';
    import 'package:firebase_vertexai/firebase_vertexai.dart';
    import 'firebase_options.dart';
    
  3. Dans votre fichier lib/main.dart, initialisez également Firebase à l'aide de l'objet DefaultFirebaseOptions exporté par le fichier de configuration:

    await Firebase.initializeApp(
      options: DefaultFirebaseOptions.currentPlatform,
    );
    
  4. Recompilez votre application Flutter:

    flutter run
    

Étape 3: Initialisez le service Vertex AI et créez une instance GenerativeModel

Avant de pouvoir effectuer des appels d'API et d'envoyer une invite à un modèle Gemini, vous devez initialiser le service Vertex AI et créer une instance GenerativeModel.

Swift

import FirebaseVertexAI

// Initialize the Vertex AI service
let vertex = VertexAI.vertexAI()

// Create a `GenerativeModel` instance with a model that supports your use case
let model = vertex.generativeModel(modelName: "gemini-2.0-flash")

Kotlin

Pour Kotlin, les méthodes de ce SDK sont des fonctions de suspension et doivent être appelées à partir d'un champ d'application de coroutine.
// Initialize the Vertex AI service and create a `GenerativeModel` instance
// Specify a model that supports your use case
val generativeModel = Firebase.vertexAI.generativeModel("gemini-2.0-flash")

Java

Pour Java, les méthodes de streaming de ce SDK renvoient un type Publisher de la bibliothèque Reactive Streams.
// Initialize the Vertex AI service and create a `GenerativeModel` instance
// Specify a model that supports your use case
GenerativeModel gm = FirebaseVertexAI.getInstance()
        .generativeModel("gemini-2.0-flash");

// Use the GenerativeModelFutures Java compatibility layer which offers
// support for ListenableFuture and Publisher APIs
GenerativeModelFutures model = GenerativeModelFutures.from(gm);

Web

import { initializeApp } from "firebase/app";
import { getVertexAI, getGenerativeModel } from "firebase/vertexai";

// 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 service
const vertexAI = getVertexAI(firebaseApp);

// Create a `GenerativeModel` instance with a model that supports your use case
const model = getGenerativeModel(vertexAI, { model: "gemini-2.0-flash" });

Dart

import 'package:firebase_vertexai/firebase_vertexai.dart';
import 'package:firebase_core/firebase_core.dart';
import 'firebase_options.dart';

// Initialize FirebaseApp
await Firebase.initializeApp(
  options: DefaultFirebaseOptions.currentPlatform,
);

// Initialize the Vertex AI service and create a `GenerativeModel` instance
// Specify a model that supports your use case
final model =
      FirebaseVertexAI.instance.generativeModel(model: 'gemini-2.0-flash');

Une fois que vous avez terminé ce guide de démarrage, découvrez comment choisir un modèle et (facultatif) un emplacement adaptés à votre cas d'utilisation et à votre application.

Étape 4: Envoyer une requête d'invite à un modèle

Maintenant que vous avez connecté votre application à Firebase, ajouté le SDK et initialisé le service Vertex AI et le modèle génératif, vous êtes prêt à envoyer une requête d'invite à un modèle Gemini.

Vous pouvez utiliser generateContent() pour générer du texte à partir d'une requête d'invite textuelle uniquement:

Swift

import FirebaseVertexAI

// Initialize the Vertex AI service
let vertex = VertexAI.vertexAI()

// Create a `GenerativeModel` instance with a model that supports your use case
let model = vertex.generativeModel(modelName: "gemini-2.0-flash")

// Provide a prompt that contains text
let prompt = "Write a story about a magic backpack."

// To generate text output, call generateContent with the text input
let response = try await model.generateContent(prompt)
print(response.text ?? "No text in response.")

Kotlin

Pour Kotlin, les méthodes de ce SDK sont des fonctions de suspension et doivent être appelées à partir d'un champ d'application de coroutine.
// Initialize the Vertex AI service and create a `GenerativeModel` instance
// Specify a model that supports your use case
val generativeModel = Firebase.vertexAI.generativeModel("gemini-2.0-flash")

// Provide a prompt that contains text
val prompt = "Write a story about a magic backpack."

// To generate text output, call generateContent with the text input
val response = generativeModel.generateContent(prompt)
print(response.text)

Java

Pour Java, les méthodes de ce SDK renvoient un ListenableFuture.
// Initialize the Vertex AI service and create a `GenerativeModel` instance
// Specify a model that supports your use case
GenerativeModel gm = FirebaseVertexAI.getInstance()
        .generativeModel("gemini-2.0-flash");
GenerativeModelFutures model = GenerativeModelFutures.from(gm);

// Provide a prompt that contains text
Content prompt = new Content.Builder()
    .addText("Write a story about a magic backpack.")
    .build();

// To generate text output, call generateContent with the text input
ListenableFuture<GenerateContentResponse> response = model.generateContent(prompt);
Futures.addCallback(response, new FutureCallback<GenerateContentResponse>() {
    @Override
    public void onSuccess(GenerateContentResponse result) {
        String resultText = result.getText();
        System.out.println(resultText);
    }

    @Override
    public void onFailure(Throwable t) {
        t.printStackTrace();
    }
}, executor);

Web

import { initializeApp } from "firebase/app";
import { getVertexAI, getGenerativeModel } from "firebase/vertexai";

// 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 service
const vertexAI = getVertexAI(firebaseApp);

// Create a `GenerativeModel` instance with a model that supports your use case
const model = getGenerativeModel(vertexAI, { model: "gemini-2.0-flash" });

// Wrap in an async function so you can use await
async function run() {
  // Provide a prompt that contains text
  const prompt = "Write a story about a magic backpack."

  // To generate text output, call generateContent with the text input
  const result = await model.generateContent(prompt);

  const response = result.response;
  const text = response.text();
  console.log(text);
}

run();

Dart

import 'package:firebase_vertexai/firebase_vertexai.dart';
import 'package:firebase_core/firebase_core.dart';
import 'firebase_options.dart';

await Firebase.initializeApp(
  options: DefaultFirebaseOptions.currentPlatform,
);

// Initialize the Vertex AI service and create a `GenerativeModel` instance
// Specify a model that supports your use case
final model =
      FirebaseVertexAI.instance.generativeModel(model: 'gemini-2.0-flash');

// Provide a prompt that contains text
final prompt = [Content.text('Write a story about a magic backpack.')];

// To generate text output, call generateContent with the text input
final response = await model.generateContent(prompt);
print(response.text);

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

En savoir plus sur les modèles compatibles

Découvrez les modèles disponibles pour différents cas d'utilisation, ainsi que leurs quotas et leurs tarifs.

Essayer d'autres fonctionnalités

Découvrez comment contrôler la génération de contenu.

Vous pouvez également tester des requêtes et des configurations de modèle à l'aide de Vertex AI Studio.


Envoyer des commentaires sur votre expérience avec Vertex AI in Firebase