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


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

Requisitos previos

En esta guía, se asume que estás familiarizado con el uso de Android Studio para desarrollar apps para Android.

  • Asegúrate de que el entorno de desarrollo y la app para Android cumplan con los siguientes requisitos:

    • Android Studio (versión más reciente)
    • Tu app para Android debe orientarse al nivel de API 21 o versiones posteriores.
  • (Opcional) Revisa 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. Si quieres 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 y una app de Firebase conectados a Firebase

  1. En Firebase console, ve a la página Compila con Gemini y haz clic en la segunda tarjeta para iniciar un flujo de trabajo que te ayude a realizar las siguientes tareas. Si ves una pestaña en la consola de Vertex AI, estas tareas están completas.

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

Si aún no tienes un proyecto y una app de Firebase conectados a esta plataforma


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 para Firebase a tu app.

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

En el archivo de configuración de Gradle (como <project>/<app-module>/build.gradle.kts) del módulo (nivel de app), agrega la dependencia del SDK de Vertex AI para Firebase para Android:

Kotlin+KTX

dependencies {
  // ... other androidx dependencies

  // add the dependency for the Vertex AI for Firebase SDK for Android
  implementation("com.google.firebase:firebase-vertexai:16.0.0-beta02")
}

Java

Para Java, debes agregar dos bibliotecas adicionales.

dependencies {
  // ... other androidx dependencies

  // add the dependency for the Vertex AI for Firebase SDK for Android
  implementation("com.google.firebase:firebase-vertexai:16.0.0-beta02")

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

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

Antes de realizar llamadas a las APIs, debes inicializar el servicio de Vertex AI y el modelo generativo.

Kotlin+KTX

En el caso de Kotlin, los métodos de este SDK son funciones de suspensión y deben llamarse desde un alcance de corrutina.
// 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 el caso de Java, los métodos de transmisión de este SDK muestran un tipo Publisher de la biblioteca de 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, descubre cómo elegir un modelo de Gemini y (opcionalmente) una ubicación adecuada para tu caso de uso y app.

Paso 4: Llama a la API de Gemini de Vertex AI

Ahora que conectaste tu app a Firebase, agregaste el SDK y, además, inicializaste el servicio de Vertex AI y el modelo generativo, ya puedes llamar a la API de Vertex AI Gemini.

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

Kotlin+KTX

En el caso de Kotlin, los métodos de este SDK son funciones de suspensión y deben llamarse desde un alcance de corrutina.
// 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 el caso de Java, los métodos de este SDK muestran una 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 la API de Gemini

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 para Firebase