Firebase AI Logic y sus SDKs de cliente antes se llamaban "Vertex AI in Firebase". Para reflejar mejor nuestros servicios y funciones expandidos (por ejemplo, ahora admitimos Gemini Developer API), cambiamos el nombre de nuestros servicios y los volvimos a empaquetar en Firebase AI Logic.
Para acceder de forma segura a los modelos de IA generativa de Google directamente desde tu app web o para dispositivos móviles, ahora puedes elegir un proveedor de "Gemini API", el Vertex AI Gemini API disponible desde hace mucho tiempo o ahora el Gemini Developer API. Esto significa que ahora tienes la opción de usar Gemini Developer API, que proporciona un nivel sin costo con límites de frecuencia y cuotas razonables.
Descripción general de los pasos para migrar a los SDKs de Firebase AI Logic
Paso 1: Elige el mejor proveedor de "Gemini API" para tu app y los casos de uso.
Paso 2: Configura tu proyecto de Firebase para que puedas usar el Gemini Developer API.
Solo se aplica si cambias a Gemini Developer API en lugar de Vertex AI Gemini API.Paso 3: Actualiza la biblioteca que se usa en tu app.
Paso 4: Actualiza la inicialización en tu app.
Paso 5: Actualiza tu código según las funciones que uses.
Paso 1: Elige el mejor proveedor de "API de Gemini" para tu app
Con esta migración, tienes la opción de elegir el proveedor "Gemini API":
Los SDKs "Vertex AI in Firebase" anteriores solo podían usar Vertex AI Gemini API.
Los nuevos SDKs de Firebase AI Logic te permiten elegir a qué proveedor de "Gemini API" quieres llamar directamente desde tu app web o para dispositivos móviles, ya sea Gemini Developer API o Vertex AI Gemini API.
Revisa las diferencias entre usar los dos proveedores de Gemini API, sobre todo en términos de las funciones compatibles, los precios y los límites de tarifas. Por ejemplo, Gemini Developer API no admite la entrega de archivos con URLs Cloud Storage, pero podría ser una buena opción si deseas aprovechar su nivel sin costo y su cuota razonable.
Si quieres seguir usando Vertex AI Gemini API:
Omite el siguiente paso y ve directamente a la sección para actualizar la biblioteca en tu app, y, luego, al resto de esta guía.Si quieres cambiar a Gemini Developer API:
Continúa con el siguiente paso para configurar tu proyecto de Firebase para usar esa API y, luego, el resto de esta guía.
Paso 2: Configura tu proyecto de Firebase para poder usar Gemini Developer API
Este paso solo es obligatorio si deseas cambiar a usar Gemini Developer API con los SDKs de cliente Firebase AI Logic. Sin embargo, si quieres seguir usando Vertex AI Gemini API, ve al siguiente paso.
Ten en cuenta que está bien tener habilitados ambos proveedores de la "API de Gemini" en tu proyecto al mismo tiempo.
En la consola de Firebase, ve a la página Firebase AI Logic.
Ve a la pestaña Configuración y selecciona Gemini Developer API.
Habilita Gemini Developer API.
La consola se asegurará de que las APIs requeridas estén habilitadas y generará una clave de API de Gemini en tu proyecto de Firebase.
Continúa con esta guía de migración para actualizar la biblioteca y la inicialización en tu app.
Paso 3: Actualiza la biblioteca que se usa en tu app
Actualiza la base de código de tu app para usar la biblioteca Firebase AI Logic.
Swift
En Xcode, con el proyecto de tu app abierto, actualiza el paquete de Firebase a la versión 11.13.0 o una posterior con una de las siguientes opciones:
Opción 1: Actualiza todos los paquetes: Navega a File > Packages > Update to Latest Package Versions.
Opción 2: Actualiza Firebase de forma individual: Navega al paquete de Firebase en la sección llamada Dependencias del paquete. Haz clic con el botón derecho en el paquete de Firebase y, luego, selecciona Update Package.
Asegúrate de que el paquete de Firebase ahora muestre la versión 11.13.0 o una posterior. Si no es así, verifica que los Requisitos del paquete especificados permitan la actualización a la versión 11.13.0 o una posterior.
Selecciona el destino de tu app en el editor de proyectos y, luego, navega a la sección Frameworks, bibliotecas y contenido incorporado.
Agrega la biblioteca nueva: Selecciona el botón + y, luego, agrega FirebaseAI desde el paquete de Firebase.
Después de terminar de migrar tu app (consulta las secciones restantes de esta guía), asegúrate de quitar la biblioteca anterior:
Selecciona FirebaseVertexAI y, luego, presiona el botón —.
Kotlin
En el archivo Gradle (generalmente
<project>/<app-module>/build.gradle.kts
o<project>/<app-module>/build.gradle
) del módulo (nivel de app), reemplaza las dependencias anteriores (según corresponda) por lo siguiente.Ten en cuenta que podría ser más fácil migrar la base de código de tu app (consulta las secciones restantes de esta guía) antes de borrar la dependencia anterior.
// BEFORE dependencies { implementation(platform("com.google.firebase:firebase-bom:33.x.y"))
implementation("com.google.firebase:firebase-vertexai")// OR if not using the BoMimplementation("com.google.firebase:firebase-vertexai:16.x.y")} // AFTER dependencies { // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:33.13.0")) // Add the dependency for the Firebase AI Logic library // When using the BoM, you don't specify versions in Firebase library dependencies implementation("com.google.firebase:firebase-ai") }Sincroniza tu proyecto de Android con archivos Gradle.
Ten en cuenta que, si decides no usar Firebase Android BoM, solo debes agregar la dependencia de la biblioteca firebase-ai
y aceptar la versión más reciente que sugiere Android Studio.
Java
En el archivo Gradle (generalmente
<project>/<app-module>/build.gradle.kts
o<project>/<app-module>/build.gradle
) del módulo (nivel de app), reemplaza las dependencias anteriores (según corresponda) por lo siguiente.Ten en cuenta que podría ser más fácil migrar la base de código de tu app (consulta las secciones restantes de esta guía) antes de borrar la dependencia anterior.
// BEFORE dependencies { implementation(platform("com.google.firebase:firebase-bom:33.x.y"))
implementation("com.google.firebase:firebase-vertexai")// OR if not using the BoMimplementation("com.google.firebase:firebase-vertexai:16.x.y")} // AFTER dependencies { // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:33.13.0")) // Add the dependency for the Firebase AI Logic library // When using the BoM, you don't specify versions in Firebase library dependencies implementation("com.google.firebase:firebase-ai") }Sincroniza tu proyecto de Android con archivos Gradle.
Ten en cuenta que, si decides no usar Firebase Android BoM, solo debes agregar la dependencia de la biblioteca firebase-ai
y aceptar la versión más reciente que sugiere Android Studio.
Web
Obtén la versión más reciente del SDK de Firebase JS para la Web con npm:
npm i firebase@latest
O
yarn add firebase@latest
Donde hayas importado la biblioteca, actualiza las instrucciones de importación para usar
firebase/ai
en su lugar.Ten en cuenta que podría ser más fácil migrar la base de código de tu app (consulta las secciones restantes de esta guía) antes de borrar las importaciones anteriores.
// BEFORE import { initializeApp } from "firebase/app";
import { getVertexAI, getGenerativeModel } from "firebase/vertexai";// AFTER import { initializeApp } from "firebase/app"; import { getAI, getGenerativeModel } from "firebase/ai";
Dart
Para actualizar y usar el paquete
firebase_ai
en tu archivopubspec.yaml
, ejecuta el siguiente comando desde el directorio de tu proyecto de Flutter:flutter pub add firebase_ai
Vuelve a compilar tu proyecto de Flutter:
flutter run
Después de terminar de migrar tu app (consulta las secciones restantes de esta guía), asegúrate de borrar el paquete anterior:
flutter pub remove firebase_vertexai
Unity
La compatibilidad con Unity no estaba disponible en "Vertex AI en Firebase".
Obtén información para comenzar a usar el SDK de Firebase AI Logic para Unity.
Paso 4: Actualiza la inicialización en tu app
Haz clic en tu proveedor de Gemini API para ver el contenido y el código específicos del proveedor en esta página. |
Actualiza la forma en que inicializas el servicio para el proveedor de API que elegiste y crea una instancia de GenerativeModel
.
Swift
import FirebaseAI
// Initialize the Gemini Developer API backend service
let ai = FirebaseAI.firebaseAI(backend: .googleAI())
// Create a `GenerativeModel` instance with a model that supports your use case
let model = ai.generativeModel(modelName: "gemini-2.0-flash")
Kotlin
// Initialize the Gemini Developer API backend service
// Create a `GenerativeModel` instance with a model that supports your use case
val model = Firebase.ai(backend = GenerativeBackend.googleAI())
.generativeModel("gemini-2.0-flash")
Java
// Initialize the Gemini Developer API backend service
// Create a `GenerativeModel` instance with a model that supports your use case
GenerativeModel ai = FirebaseAI.getInstance(GenerativeBackend.googleAI())
.generativeModel("gemini-2.0-flash");
// Use the GenerativeModelFutures Java compatibility layer which offers
// support for ListenableFuture and Publisher APIs
GenerativeModelFutures model = GenerativeModelFutures.from(ai);
Web
import { initializeApp } from "firebase/app";
import { getAI, getGenerativeModel, GoogleAIBackend } from "firebase/ai";
// 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 Gemini Developer API backend service
const ai = getAI(firebaseApp, { backend: new GoogleAIBackend() });
// Create a `GenerativeModel` instance with a model that supports your use case
const model = getGenerativeModel(ai, { model: "gemini-2.0-flash" });
Dart
import 'package:firebase_ai/firebase_ai.dart';
import 'package:firebase_core/firebase_core.dart';
import 'firebase_options.dart';
// Initialize FirebaseApp
await Firebase.initializeApp(
options: DefaultFirebaseOptions.currentPlatform,
);
// Initialize the Gemini Developer API backend service
// Create a `GenerativeModel` instance with a model that supports your use case
final model =
FirebaseAI.googleAI().generativeModel(model: 'gemini-2.0-flash');
Unity
La compatibilidad con Unity no estaba disponible en "Vertex AI en Firebase".
Obtén información para comenzar a usar el SDK de Firebase AI Logic para Unity.
Ten en cuenta que , según la capability que uses, es posible que no siempre se cree una instancia de GenerativeModel
.
- Para acceder a un modelo Imagen, crea una instancia de
ImagenModel
.
Paso 5: Actualiza tu código según las funciones que uses
En este paso, se describen los cambios que pueden ser necesarios según las funciones que uses.
Si usas URLs de Cloud Storage y cambiaste a Gemini Developer API en esta migración, debes actualizar tus solicitudes multimodales para incluir archivos como datos intercalados (o usar URLs de YouTube para los videos).
Revisa las siguientes listas para ver si hay cambios que debas realizar en tu código para poder usar el SDK de Firebase AI Logic.
Swift
No hay cambios adicionales.
Kotlin
Live API
- Se quitó el valor
UNSPECIFIED
para la clase enumResponseModality
. En su lugar, usanull
.
- Se quitó el valor
Java
Live API
- Se quitó el valor
UNSPECIFIED
para la clase enumResponseModality
. En su lugar, usanull
.
- Se quitó el valor
Se cambiaron varios métodos de compilador de Java para que ahora muestren correctamente la instancia de su clase, en lugar de un valor nulo.
Web
Cambios obligatorios solo si comienzas a usar Gemini Developer API (en lugar de Vertex AI Gemini API):
Configuración de seguridad
- Se quitaron los usos de
SafetySetting.method
no admitidos.
- Se quitaron los usos de
Datos intercalados
- Se quitaron los usos de
InlineDataPart.videoMetadata
no admitidos.
- Se quitaron los usos de
Dart
No hay cambios adicionales.
Unity
La compatibilidad con Unity no estaba disponible en "Vertex AI in Firebase".
Obtén información para comenzar a usar el SDK de Firebase AI Logic para Unity.
Envía comentarios sobre tu experiencia con Firebase AI Logic