En esta guía, se muestra cómo comenzar a realizar llamadas a Gemini API in Vertex AI directamente desde tu app con el SDK de Vertex AI in Firebase para la plataforma que elijas.
Otras opciones para trabajar con Gemini API
De manera opcional, experimenta con una versión alternativa "Google AI" de la función Gemini API
Obtén acceso sin costo (dentro de los límites y cuando esté disponible) con Google AI Studio y los SDKs de cliente Google AI. Estos SDKs deben usarse solo para crear prototipos en apps web y para dispositivos móviles.Una vez que estés familiarizado con el funcionamiento de un Gemini API, migra a nuestros SDKs de Vertex AI in Firebase (esta documentación), que tienen muchas funciones adicionales importantes para las apps web y para dispositivos móviles, como proteger la API del abuso con Firebase App Check y la compatibilidad con archivos multimedia grandes en las solicitudes.
Opcionalmente, llama al Gemini API in Vertex AI del servidor (como con Python, Node.js o Go)
Usa los SDK de Vertex AI del servidor, Genkit o Firebase Extensions para Gemini API.
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
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 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.
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.
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.
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.
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.
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.
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.
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.
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
En la consola de Firebase, ve a la página Vertex AI.
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 de pago por uso de Blaze.
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
Configura un proyecto de Firebase:
Accede Firebase console.
Haz clic en Crear proyecto y, luego, usa una de las siguientes opciones:
Opción 1: Crea un proyecto de Firebase completamente nuevo (y su proyecto subyacente de Google Cloud automáticamente); para ello, ingresa un nuevo nombre de proyecto en el primer paso del flujo de trabajo "Crear proyecto".
Opción 2: "Agrega Firebase" a un proyecto de Google Cloud existente; para ello, selecciona el nombre de tu proyecto de Google Cloud del menú desplegable del primer paso del flujo de trabajo "Crear proyecto".
Ten en cuenta que, cuando se te solicite, no es necesario que configures Google Analytics para usar los SDK de Vertex AI in Firebase.
En la consola de Firebase, ve a la página Vertex AI.
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 de pago por uso de Blaze.
Habilita las APIs necesarias en tu proyecto (API de Vertex AI y API de Vertex AI in Firebase).
Conecta tu app a Firebase
Continúa en el flujo de trabajo de configuración de Vertex AI in Firebase de la consola para conectar tu app a Firebase, lo que incluye las siguientes tareas:
Registrar tu app con tu proyecto de Firebase
Agrega tu archivo de configuración de Firebase (
) a la app.GoogleService-Info.plist
En los próximos pasos de esta guía, agregarás el SDK de Vertex AI in Firebase a tu app y completarás la inicialización necesaria específica para usar el SDK y Gemini API.
Continúa en el flujo de trabajo de configuración de Vertex AI in Firebase de la consola para conectar tu app a Firebase, lo que incluye las siguientes tareas:
Registrar tu app con tu proyecto de Firebase
Agrega el archivo de configuración de Firebase (
) y el complemento de Gradlegoogle-services.json
a tu app.google-services
En los próximos pasos de esta guía, agregarás el SDK de Vertex AI in Firebase a tu app y completarás la inicialización necesaria específica para usar el SDK y Gemini API.
Continúa en el flujo de trabajo de configuración de Vertex AI in Firebase de la consola para conectar tu app a Firebase, lo que incluye las siguientes tareas:
Registrar tu app con tu proyecto de Firebase
Agrega el archivo de configuración de Firebase (
) y el complemento de Gradlegoogle-services.json
a tu app.google-services
En los próximos pasos de esta guía, agregarás el SDK de Vertex AI in Firebase a tu app y completarás la inicialización necesaria específica para usar el SDK y Gemini API.
Continúa en el flujo de trabajo de configuración de Vertex AI in Firebase de la consola para conectar tu app a Firebase, lo que incluye las siguientes tareas:
Registrar tu app con tu proyecto de Firebase
Agrega tu objeto de configuración de Firebase a la app.
En los próximos pasos de esta guía, agregarás el SDK de Vertex AI in Firebase a tu app y completarás la inicialización necesaria específica para usar el SDK y Gemini API.
Instala las herramientas de línea de comandos necesarias:
Si aún no lo hiciste, Instala la CLI de Firebase.
Accede a Firebase con tu Cuenta de Google ejecutando el siguiente comando:
firebase login
Para instalar la CLI de FlutterFire, ejecuta el siguiente comando desde cualquier directorio:
dart pub global activate flutterfire_cli
Configura tus apps para usar Firebase:
Usa la CLI de FlutterFire para configurar tus apps de Flutter para conectarte a Firebase.
Desde el directorio de tu proyecto de Flutter, ejecuta el siguiente comando para iniciar el flujo de trabajo de configuración de la app:
flutterfire configure
¿Qué hace este flujo de trabajo
flutterfire configure
?El flujo de trabajo
flutterfire configure
hace lo siguiente:Te pide que selecciones las plataformas (iOS, Android y Web) compatibles con tu app de Flutter. Para cada plataforma seleccionada, la CLI de FlutterFire crea una app nueva de Firebase en tu proyecto de Firebase.
Puedes seleccionar un proyecto de Firebase existente o uno nuevo. Si ya tienes apps registradas en un proyecto existente de Firebase, la CLI de FlutterFire intentará establecer coincidencias con ellas según la configuración actual de tu proyecto de Flutter.
Se crea un archivo de configuración de Firebase (
firebase_options.dart
) y se agrega al directoriolib/
de tu app de Flutter.
En los próximos pasos de esta guía, agregarás el SDK de Vertex AI in Firebase a tu app y completarás la inicialización necesaria específica para usar el SDK y Gemini API.
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.
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
).
En Xcode, con tu proyecto de app abierto, navega a File > Add Packages.
Cuando se te solicite, agrega el repositorio del SDK de Firebase para plataformas de Apple:
https://github.com/firebase/firebase-ios-sdk
Selecciona la versión más reciente del SDK.
Selecciona la biblioteca de
FirebaseVertexAI
.
Cuando termines, Xcode comenzará a resolver y descargar automáticamente tus dependencias en segundo plano.
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 la
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 la Firebase Android BoM, tu app siempre usará versiones compatibles de las bibliotecas de Firebase para Android.
(Alternativa) Agrega dependencias de la biblioteca de Firebase sin usar la BoM
Si eliges no usar la Firebase BoM, debes especificar cada versión de la biblioteca de Firebase en su línea de dependencia.
Ten en cuenta que, si usas varias bibliotecas de Firebase en tu app, te recomendamos que uses la BoM para administrar las versiones de las bibliotecas, lo que garantiza que todas las versiones sean compatibles.
dependencies { // Add the dependency for the Vertex AI in Firebase library // When NOT using the BoM, you must specify versions in Firebase library dependencies implementation("com.google.firebase:firebase-vertexai:16.4.0") }
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 la
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 la Firebase Android BoM, tu app siempre usará versiones compatibles de las bibliotecas de Firebase para Android.
(Alternativa) Agrega dependencias de la biblioteca de Firebase sin usar la BoM
Si eliges no usar la Firebase BoM, debes especificar cada versión de la biblioteca de Firebase en su línea de dependencia.
Ten en cuenta que, si usas varias bibliotecas de Firebase en tu app, te recomendamos que uses la BoM para administrar las versiones de las bibliotecas, lo que garantiza que todas las versiones sean compatibles.
dependencies { // Add the dependency for the Vertex AI in Firebase library // When NOT using the BoM, you must specify versions in Firebase library dependencies implementation("com.google.firebase:firebase-vertexai:16.4.0") }
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.
Instala el SDK de Firebase JS para la Web con npm:
npm install firebase
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);
El complemento Vertex AI in Firebase para Flutter (firebase_vertexai
) proporciona acceso a las APIs para interactuar con los modelos Gemini y Imagen.
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
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';
Además, en tu archivo
lib/main.dart
, inicializa Firebase con el objetoDefaultFirebaseOptions
exportado por el archivo de configuración:await Firebase.initializeApp( options: DefaultFirebaseOptions.currentPlatform, );
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
.
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")
// 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")
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);
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" });
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:
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.")
// 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)
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);
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();
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
- 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).
- Crea conversaciones de varios turnos (chat).
- Genera resultados estructurados (como JSON) a partir de instrucciones multimodales y de texto.
- Genera imágenes a partir de instrucciones de texto.
- Transmite la entrada y la salida (incluido el audio) con Gemini Live API.
- Usa las llamadas a función 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 (para Gemini) o la relación de aspecto y la generación de personas (para Imagen).
- 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