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.

Requisitos previos

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 los siguientes requisitos:

    • Android Studio (versión más reciente)
    • Tu app para Android debe tener como objetivo el 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.

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 Crear con Gemini.

  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.

El SDK de Vertex AI in Firebase para Android (firebase-vertexai) proporciona acceso a Vertex AI Gemini API.

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.

Kotlin

dependencies {
    // ... other androidx dependencies

    // Import the BoM for the Firebase platform
    implementation(platform("com.google.firebase:firebase-bom:33.7.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")
}

Java

Para 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.7.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.

Paso 3: Inicializa el servicio Vertex AI y el modelo generativo

Antes de poder realizar llamadas a la API, debes inicializar el servicio de Vertex AI y el modelo generativo.

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 the generative model
// Specify a model that supports your use case
// Gemini 1.5 models are versatile and can be used with all API capabilities
val generativeModel = Firebase.vertexAI.generativeModel("gemini-1.5-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 the generative model
// Specify a model that supports your use case
// Gemini 1.5 models are versatile and can be used with all API capabilities
GenerativeModel gm = FirebaseVertexAI.getInstance()
        .generativeModel("gemini-1.5-flash");

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

Cuando termines la guía de introducción, aprende a elegir un modelo de Gemini y, de manera opcional, una ubicación adecuada para tu caso de uso y app.

Paso 4: Llama a Vertex AI Gemini API

Ahora que conectaste tu app a Firebase, agregaste el SDK y inicializaste el servicio Vertex AI y el modelo generativo, está todo listo para llamar a Vertex AI Gemini API.

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

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 the generative model
// Specify a model that supports your use case
// Gemini 1.5 models are versatile and can be used with all API capabilities
val generativeModel = Firebase.vertexAI.generativeModel("gemini-1.5-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 the generative model
// Specify a model that supports your use case
// Gemini 1.5 models are versatile and can be used with all API capabilities
GenerativeModel gm = FirebaseVertexAI.getInstance()
        .generativeModel("gemini-1.5-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);

¿Qué más puedes hacer?

Más información sobre los modelos de Gemini

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

Prueba otras funciones de Gemini API

Aprende a controlar la generación de contenido

También puedes experimentar con instrucciones y configuraciones de modelos con Vertex AI Studio.


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