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 cómo usarlo 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 tener como objetivo el nivel de API 21 o uno superior.
(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 de Firebase y una app conectada a Firebase
En la consola de Firebase, ve a la página Compile with Gemini.
Haz clic en la tarjeta Vertex AI in Firebase para iniciar un flujo de trabajo que te ayude a completar las siguientes tareas:
Actualiza tu proyecto para usar el plan de precios Blaze (pago por uso).
Habilita las APIs necesarias en tu proyecto (API de Vertex AI y API de Vertex AI in Firebase).
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+KTX
dependencies { // ... other androidx dependencies // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:33.5.1")) // 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.5.1")) // 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 Vertex AI y el modelo generativo.
Kotlin+KTX
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 tipoPublisher
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+KTX
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 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 Gemini API
- Obtén más información para generar texto a partir de instrucciones de solo texto, incluida la transmisión de la respuesta.
- Genera texto a partir de instrucciones multimodales (incluidos texto, imágenes, PDF, video y audio).
- Crear conversaciones de varios turnos (chat)
- Genera salidas estructuradas (como JSON) a partir de instrucciones multimodales y de texto.
- Usa las llamadas a funciones para conectar los modelos generativos a sistemas y datos 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 se puedan considerar dañinas.
Envía comentarios sobre tu experiencia con Vertex AI in Firebase