Inizia a utilizzare l'API Gemini mediante Vertex AI negli SDK Firebase

Questa guida illustra come iniziare a effettuare chiamate a Vertex AI Gemini API direttamente dalla tua app utilizzando l'SDK Vertex AI in Firebase per la piattaforma scelta.

Tieni presente che puoi utilizzare questa guida anche per iniziare ad accedere ai modelli Imagen utilizzando gli SDK Vertex AI in Firebase.

Prerequisiti

Swift

Questa guida presuppone che tu abbia dimestichezza con l'utilizzo di Xcode per sviluppare app per le piattaforme Apple (come iOS).

  • Assicurati che l'ambiente di sviluppo e l'app per le piattaforme Apple soddisfino i seguenti requisiti:

    • Xcode 16.2 o versioni successive
    • La tua app ha come target iOS 15 o versioni successive o macOS 12 o versioni successive
  • (Facoltativo) Dai un'occhiata all'app di esempio.

    Scarica l'app di avvio rapido

    Puoi provare rapidamente l'SDK, visualizzare un'implementazione completa di vari casi d'uso o utilizzare l'app di esempio se non hai un'app per le piattaforme Apple. Per utilizzare l'app di esempio, dovrai collegarla a un progetto Firebase.

Kotlin

Questa guida presuppone che tu abbia dimestichezza con l'utilizzo di Android Studio per sviluppare app per Android.

  • Assicurati che l'ambiente di sviluppo e l'app per Android soddisfino i seguenti requisiti:

    • Android Studio (ultima versione)
    • L'app ha come target il livello API 21 o versioni successive
  • (Facoltativo) Dai un'occhiata all'app di esempio.

    Scarica l'app di esempio

    Puoi provare rapidamente l'SDK, visualizzare un'implementazione completa di vari casi d'uso o utilizzare l'app di esempio se non hai una tua app per Android. Per utilizzare l'app di esempio, dovrai collegarla a un progetto Firebase.

Java

Questa guida presuppone che tu abbia dimestichezza con l'utilizzo di Android Studio per sviluppare app per Android.

  • Assicurati che l'ambiente di sviluppo e l'app per Android soddisfino i seguenti requisiti:

    • Android Studio (ultima versione)
    • L'app ha come target il livello API 21 o versioni successive
  • (Facoltativo) Dai un'occhiata all'app di esempio.

    Scarica l'app di esempio

    Puoi provare rapidamente l'SDK, visualizzare un'implementazione completa di vari casi d'uso o utilizzare l'app di esempio se non hai una tua app per Android. Per utilizzare l'app di esempio, dovrai collegarla a un progetto Firebase.

Web

Questa guida presuppone che tu abbia familiarità con l'utilizzo di JavaScript per sviluppare applicazioni web. Questa guida è indipendente dal framework.

  • Assicurati che l'ambiente di sviluppo e l'app web soddisfino i seguenti requisiti:

    • (Facoltativo) Node.js
    • Browser web moderno
  • (Facoltativo) Dai un'occhiata all'app di esempio.

    Scarica l'app di esempio

    Puoi provare rapidamente l'SDK, visualizzare un'implementazione completa di vari casi d'uso o utilizzare l'app di esempio se non hai una tua app web. Per utilizzare l'app di esempio, dovrai collegarla a un progetto Firebase.

Dart

Questa guida presuppone che tu abbia familiarità con lo sviluppo di app con Flutter.

  • Assicurati che l'ambiente di sviluppo e l'app Flutter soddisfino i seguenti requisiti:

    • Dart 3.2.0 e versioni successive
  • (Facoltativo) Dai un'occhiata all'app di esempio.

    Scarica l'app di esempio

    Puoi provare rapidamente l'SDK, visualizzare un'implementazione completa di vari casi d'uso o utilizzare l'app di esempio se non hai una tua app Flutter. Per utilizzare l'app di esempio, dovrai collegarla a un progetto Firebase.

Passaggio 1: configura un progetto Firebase e connetti la tua app a Firebase

Se hai già un progetto Firebase e un'app collegata a Firebase

  1. Nella console Firebase, vai alla pagina Vertex AI.

  2. Fai clic sulla scheda Vertex AI in Firebase per avviare un flusso di lavoro che ti aiuta a completare le seguenti attività:

  3. Vai al passaggio successivo di questa guida per aggiungere l'SDK alla tua app.

Se non hai già un progetto Firebase e un'app collegata a Firebase


Passaggio 2: aggiungi l'SDK

Dopo aver configurato il progetto Firebase e collegato l'app a Firebase (vedi il passaggio precedente), ora puoi aggiungere l'SDK Vertex AI in Firebase alla tua app.

Swift

Utilizza Swift Package Manager per installare e gestire le dipendenze di Firebase.

La libreria Vertex AI in Firebase fornisce l'accesso alle API per interagire con i modelli Gemini e Imagen. La libreria è inclusa nell'SDK Firebase per le piattaforme Apple (firebase-ios-sdk).

  1. In Xcode, con il progetto dell'app aperto, vai a File > Aggiungi pacchetti.

  2. Quando richiesto, aggiungi il repository dell'SDK delle piattaforme Apple di Firebase:

    https://github.com/firebase/firebase-ios-sdk
    
  3. Seleziona la versione più recente dell'SDK.

  4. Seleziona la raccolta FirebaseVertexAI.

Al termine, Xcode inizierà automaticamente a risolvere e a scaricare le tue dipendenze in background.

Kotlin

L'SDK Vertex AI in Firebase per Android (firebase-vertexai) fornisce accesso alle API per interagire con i modelli Gemini e Imagen.

Nel file Gradle del modulo (a livello di app) (ad esempio <project>/<app-module>/build.gradle.kts), aggiungi la dipendenza per la libreria Vertex AI in Firebase per Android. Ti consigliamo di utilizzare Firebase Android BoM per controllare la gestione delle versioni delle librerie.

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

Con Firebase Android BoM, la tua app utilizzerà sempre versioni compatibili delle librerie Firebase per Android.

Java

L'SDK Vertex AI in Firebase per Android (firebase-vertexai) fornisce accesso alle API per interagire con i modelli Gemini e Imagen.

Nel file Gradle del modulo (a livello di app) (ad esempio <project>/<app-module>/build.gradle.kts), aggiungi la dipendenza per la libreria Vertex AI in Firebase per Android. Ti consigliamo di utilizzare Firebase Android BoM per controllare la gestione delle versioni delle librerie.

Per Java, devi aggiungere altre due librerie.

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

Con Firebase Android BoM, la tua app utilizzerà sempre versioni compatibili delle librerie Firebase per Android.

Web

La libreria Vertex AI in Firebase fornisce l'accesso alle API per interagire con i modelli Gemini e Imagen. La libreria è inclusa nell'SDK Firebase JavaScript per il web.

  1. Installa l'SDK Firebase JS per il web utilizzando npm:

    npm install firebase
    
  2. Inizializza Firebase nella tua app:

    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

Il plug-in Vertex AI in Firebase per Flutter (firebase_vertexai) fornisce accesso alle API per interagire con i modelli Gemini e Imagen.

  1. Dalla directory del progetto Flutter, esegui il seguente comando per installare il plug-in di base e il plug-in Vertex AI in Firebase:

    flutter pub add firebase_core && flutter pub add firebase_vertexai
    
  2. Nel file lib/main.dart, importa il plug-in Firebase Core, il plug-in Vertex AI in Firebase e il file di configurazione generato in precedenza:

    import 'package:firebase_core/firebase_core.dart';
    import 'package:firebase_vertexai/firebase_vertexai.dart';
    import 'firebase_options.dart';
    
  3. Nel file lib/main.dart, inizializza Firebase utilizzando l'oggetto DefaultFirebaseOptions esportato dal file di configurazione:

    await Firebase.initializeApp(
      options: DefaultFirebaseOptions.currentPlatform,
    );
    
  4. Ricostruisci l'applicazione Flutter:

    flutter run
    

Passaggio 3: inizializza il servizio Vertex AI e crea un'istanza GenerativeModel

Prima di poter effettuare chiamate API e inviare un prompt a un modello Gemini, devi inizializzare il servizio Vertex AI e creare un'istanza 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

Per Kotlin, i metodi in questo SDK sono funzioni sospese e devono essere chiamati da un ambito 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

Per Java, i metodi di streaming in questo SDK restituiscono un tipo Publisher della libreria 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');

Dopo aver completato questa guida introduttiva, scopri come scegliere un modello e, facoltativamente, un luogo appropriati per il tuo caso d'uso e la tua app.

Passaggio 4: invia una richiesta di prompt a un modello

Ora che hai collegato la tua app a Firebase, aggiunto l'SDK e inizializzato il servizio Vertex AI e il modello generativo, puoi inviare una richiesta di prompt a un modello Vertex AI.Gemini

Puoi utilizzare generateContent() per generare testo da una richiesta di prompt di solo testo:

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

Per Kotlin, i metodi in questo SDK sono funzioni sospese e devono essere chiamati da un ambito 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

Per Java, i metodi in questo SDK restituiscono 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);

Cos'altro puoi fare?

Scopri di più sui modelli supportati

Scopri i modelli disponibili per vari casi d'uso e le relative quote e prezzi.

Provare altre funzionalità

Scopri come controllare la generazione di contenuti

Puoi anche sperimentare con i prompt e le configurazioni del modello utilizzando Vertex AI Studio.


Inviare un feedback sulla tua esperienza con Vertex AI in Firebase