Comienza a usar la API de Gemini con Vertex AI en los SDK de Firebase

En esta guía, se muestra cómo comenzar a realizar llamadas a Vertex AI Gemini API directamente desde tu app con el SDK de Vertex AI in Firebase para la plataforma que elijas.

Ten en cuenta que también puedes usar esta guía para comenzar a acceder a modelos de Imagen con los SDK de Vertex AI in Firebase.

Requisitos previos

Swift

En esta guía, se da por sentado que conoces el uso de Xcode para desarrollar apps para plataformas de Apple (como iOS).

  • Asegúrate de que tu entorno de desarrollo y la app para plataformas de Apple cumplan con estos requisitos:

    • Xcode 16.2 o una versión posterior
    • Tu app está orientada a iOS 15 o versiones posteriores, o a macOS 12 o versiones posteriores
  • (Opcional) Consulta la app de ejemplo.

    Descarga la app de la guía de inicio rápido

    Puedes probar el SDK rápidamente, ver una implementación completa de varios casos de uso o usar la app de ejemplo si no tienes tu propia app para plataformas de Apple. Para usar la app de ejemplo, deberás conectarla a un proyecto de Firebase.

Kotlin

En esta guía, se da por sentado que conoces Android Studio y que lo usas para desarrollar apps para Android.

  • Asegúrate de que tu entorno de desarrollo y tu app para Android cumplan con estos requisitos:

    • Android Studio (versión más reciente)
    • Tu app está orientada al nivel de API 21 o uno superior
  • (Opcional) Consulta la app de ejemplo.

    Descarga la app de ejemplo

    Puedes probar el SDK rápidamente, ver una implementación completa de varios casos de uso o usar la app de ejemplo si no tienes tu propia app para Android. Para usar la app de ejemplo, deberás conectarla a un proyecto de Firebase.

Java

En esta guía, se da por sentado que conoces Android Studio y que lo usas para desarrollar apps para Android.

  • Asegúrate de que tu entorno de desarrollo y tu app para Android cumplan con estos requisitos:

    • Android Studio (versión más reciente)
    • Tu app está orientada al nivel de API 21 o uno superior
  • (Opcional) Consulta la app de ejemplo.

    Descarga la app de ejemplo

    Puedes probar el SDK rápidamente, ver una implementación completa de varios casos de uso o usar la app de ejemplo si no tienes tu propia app para Android. Para usar la app de ejemplo, deberás conectarla a un proyecto de Firebase.

Web

En esta guía, se da por sentado que estás familiarizado con el uso de JavaScript para desarrollar apps web. Esta guía no depende del framework.

  • Asegúrate de que tu entorno de desarrollo y tu app web cumplan con los siguientes requisitos:

    • Node.js (opcional)
    • Navegador web moderno
  • (Opcional) Consulta la app de ejemplo.

    Descarga la app de ejemplo

    Puedes probar el SDK rápidamente, ver una implementación completa de varios casos de uso o usar la app de ejemplo si no tienes tu propia app web. Para usar la app de ejemplo, deberás conectarla a un proyecto de Firebase.

Dart

En esta guía, se da por sentado que conoces el desarrollo de apps con Flutter.

  • Asegúrate de que tu entorno de desarrollo y la app de Flutter cumplan con estos requisitos:

    • Dart 3.2.0 y versiones posteriores
  • (Opcional) Consulta la app de ejemplo.

    Descarga la app de ejemplo

    Puedes probar el SDK rápidamente, ver una implementación completa de varios casos de uso o usar la app de ejemplo si no tienes tu propia app de Flutter. Para usar la app de ejemplo, deberás conectarla a un proyecto de Firebase.

Paso 1: Configura un proyecto de Firebase y conecta tu app a Firebase

Si ya tienes un proyecto de Firebase y una app conectada a Firebase

  1. En la consola de Firebase, ve a la página Vertex AI.

  2. Haz clic en la tarjeta Vertex AI in Firebase para iniciar un flujo de trabajo que te ayude a completar las siguientes tareas:

  3. Continúa con el siguiente paso de esta guía para agregar el SDK a tu app.

Si no tienes un proyecto de Firebase ni una app conectada a Firebase


Paso 2: Agrega el SDK

Con tu proyecto de Firebase configurado y tu app conectada a Firebase (consulta el paso anterior), ahora puedes agregar el SDK de Vertex AI in Firebase a tu app.

Swift

Usa Swift Package Manager para instalar y administrar las dependencias de Firebase.

La biblioteca de Vertex AI in Firebase proporciona acceso a las APIs para interactuar con los modelos Gemini y Imagen. La biblioteca se incluye como parte del SDK de Firebase para plataformas de Apple (firebase-ios-sdk).

  1. En Xcode, con tu proyecto de app abierto, navega a File > Add Packages.

  2. Cuando se te solicite, agrega el repositorio del SDK de Firebase para plataformas de Apple:

    https://github.com/firebase/firebase-ios-sdk
    
  3. Selecciona la versión más reciente del SDK.

  4. Selecciona la biblioteca de FirebaseVertexAI.

Cuando termines, Xcode comenzará a resolver y descargar automáticamente tus dependencias en segundo plano.

Kotlin

El SDK de Vertex AI in Firebase para Android (firebase-vertexai) proporciona acceso a las APIs para interactuar con los modelos Gemini y Imagen.

En el archivo Gradle del módulo (nivel de app) (como <project>/<app-module>/build.gradle.kts), agrega la dependencia de la biblioteca de Vertex AI in Firebase para Android. Te recomendamos usar Firebase Android BoM para controlar las versiones de las bibliotecas.

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

Cuando usas Firebase Android BoM, tu app siempre usará versiones compatibles de las bibliotecas de Firebase para Android.

Java

El SDK de Vertex AI in Firebase para Android (firebase-vertexai) proporciona acceso a las APIs para interactuar con los modelos Gemini y Imagen.

En el archivo Gradle del módulo (nivel de app) (como <project>/<app-module>/build.gradle.kts), agrega la dependencia de la biblioteca de Vertex AI in Firebase para Android. Te recomendamos usar Firebase Android BoM para controlar las versiones de las bibliotecas.

En el caso de Java, debes agregar dos bibliotecas adicionales.

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

Cuando usas Firebase Android BoM, tu app siempre usará versiones compatibles de las bibliotecas de Firebase para Android.

Web

La biblioteca de Vertex AI in Firebase proporciona acceso a las APIs para interactuar con los modelos Gemini y Imagen. La biblioteca se incluye como parte del SDK de Firebase JavaScript para la Web.

  1. Instala el SDK de Firebase JS para la Web con npm:

    npm install firebase
    
  2. Inicializa Firebase en tu 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

El complemento Vertex AI in Firebase para Flutter (firebase_vertexai) proporciona acceso a las APIs para interactuar con los modelos Gemini y Imagen.

  1. Desde el directorio de tu proyecto de Flutter, ejecuta el siguiente comando para instalar el complemento principal y el complemento Vertex AI in Firebase:

    flutter pub add firebase_core && flutter pub add firebase_vertexai
    
  2. En el archivo lib/main.dart, importa el complemento principal de Firebase, el complemento Vertex AI in Firebase y el archivo de configuración que generaste antes:

    import 'package:firebase_core/firebase_core.dart';
    import 'package:firebase_vertexai/firebase_vertexai.dart';
    import 'firebase_options.dart';
    
  3. Además, en tu archivo lib/main.dart, inicializa Firebase con el objeto DefaultFirebaseOptions exportado por el archivo de configuración:

    await Firebase.initializeApp(
      options: DefaultFirebaseOptions.currentPlatform,
    );
    
  4. Vuelve a compilar tu aplicación de Flutter:

    flutter run
    

Paso 3: Inicializa el servicio Vertex AI y crea una instancia de GenerativeModel

Antes de poder realizar llamadas a la API y enviar una instrucción a un modelo Gemini, debes inicializar el servicio Vertex AI y crear una instancia 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

En Kotlin, los métodos de este SDK son funciones de suspensión y se deben llamar desde un alcance de corrutinas.
// 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

En Java, los métodos de transmisión de este SDK muestran un tipo Publisher de la biblioteca 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');

Después de terminar esta guía de introducción, obtén información para elegir un modelo y, de manera opcional, una ubicación adecuada para tu caso de uso y app.

Paso 4: Envía una solicitud de instrucción a un modelo

Ahora que conectaste tu app a Firebase, agregaste el SDK y inicializaste el servicio Vertex AI y el modelo generativo, está todo listo para enviar una solicitud de instrucción a un modelo Gemini.

Puedes usar generateContent() para generar texto a partir de una solicitud de instrucción solo de texto:

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

En Kotlin, los métodos de este SDK son funciones de suspensión y se deben llamar desde un alcance de corrutinas.
// 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

En Java, los métodos de este SDK muestran 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é más puedes hacer?

Más información sobre los modelos compatibles

Obtén información sobre los modelos disponibles para varios casos de uso y sus cuotas y precios.

Prueba otras funciones

Aprende a controlar la generación de contenido

También puedes experimentar con instrucciones y parámetros de configuración de modelos con Vertex AI Studio.


Envía comentarios sobre tu experiencia con Vertex AI in Firebase