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.
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
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.
Actualiza tu proyecto para usar el plan de precios Blaze (prepago).
Habilita las dos APIs siguientes para tu proyecto:
aiplatform.googleapis.com
yfirebaseml.googleapis.com
.
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-beta03")
}
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-beta03")
// 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 tipoPublisher
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 unaListenableFuture
.
// 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
- Obtén más información para generar texto a partir de instrucciones solo de texto, incluido cómo transmitir la respuesta.
- Genera texto a partir de instrucciones multimodales (lo que incluye texto, imágenes, PDF, video y audio).
- Crear conversaciones de varios turnos (chat)
- Usa las llamadas a funciones para conectar modelos generativos a información y sistemas externos.
Aprende a controlar la generación de contenido
- Comprende el diseño de instrucciones, incluidas las prácticas recomendadas, las estrategias y los ejemplos de instrucciones.
- Configura los parámetros del modelo, como la temperatura y la cantidad máxima de tokens de salida.
- Usa la configuración de seguridad para ajustar la probabilidad de recibir respuestas que puedan considerarse dañinas.
Envía comentarios sobre tu experiencia con Vertex AI para Firebase