Migra para usar los SDKs de Vertex AI en lugar de los SDKs de Google AI

En esta página, se describe cómo migrar de los SDK de cliente Google AI a los SDK de cliente Vertex AI in Firebase en tus apps web o para dispositivos móviles. Los SDK de Vertex AI in Firebase están disponibles para plataformas de Apple (Swift), Android (Kotlin y Java), Web (JavaScript) y Flutter (Dart).

Ir directamente a las instrucciones de migración

¿Por qué migrar para usar Vertex AI?

Es posible que hayas probado una versión alternativa de un Gemini API con Google AI Studio o los SDKs de cliente Google AI. Estos SDKs son útiles para comenzar a usar Gemini API y prototipar. Sin embargo, para las apps web y para dispositivos móviles de producción o escala empresarial que llaman directamente a un Gemini API del cliente, Firebase recomienda hacer la llamada a Vertex AI Gemini API con nuestros SDK de Firebase.

Funciones de seguridad para apps web y para dispositivos móviles

En el caso de las apps web y para dispositivos móviles, la seguridad es fundamental y requiere consideraciones especiales, ya que tu código (incluidas las llamadas a Gemini API) se ejecuta en un entorno no protegido.

  • De forma predeterminada, la Vertex AI Gemini API está autorizada por la IAM de Google Cloud (en lugar de una clave de API como Google AI Gemini API). Los SDK de Vertex AI in Firebase están compilados para llamar a la Vertex AI Gemini API, que es más segura.

  • En el caso de las apps web y para dispositivos móviles, debes proteger el Gemini API y los recursos de tu proyecto (como modelos ajustados) del abuso por parte de clientes no autorizados. Puedes usar Firebase App Check para verificar que todas las llamadas a la API provengan de la app real. Esta función solo está disponible si usas los SDK de Vertex AI in Firebase.

Ecosistema creado para apps web y para dispositivos móviles

Firebase es la plataforma de Google para desarrollar apps web y para dispositivos móviles. El uso de los SDKs de Vertex AI in Firebase significa que tus apps se encuentran en un ecosistema que se enfoca en las necesidades de los desarrolladores y las apps de pila completa. Por ejemplo, puedes hacer lo siguiente y mucho más:

  • Usa Cloud Storage for Firebase para incluir archivos grandes en tus solicitudes multimodales. Además, aprovecha los SDKs de cliente que controlan las cargas y descargas de archivos (incluso en condiciones de red deficientes) y ofrecen más seguridad para los datos de tus usuarios finales. Obtén más información en nuestra guía de soluciones sobre el uso de Cloud Storage for Firebase.

  • Administra datos estructurados con SDK de bases de datos compilados para apps web y para dispositivos móviles (como Cloud Firestore).

  • Establece de forma dinámica configuraciones de tiempo de ejecución (como la ubicación) o intercambia valores en tu app (como el nombre de un modelo) sin lanzar una nueva versión de la app con Firebase Remote Config.

Beneficios adicionales de usar Vertex AI de Google Cloud

A medida que el uso de la IA generativa en tu app y tus flujos de trabajo evolucione, es posible que necesites una plataforma que ofrezca soluciones de extremo a extremo para compilar e implementar aplicaciones de IA generativa. Google Cloud proporciona un ecosistema integral de herramientas para permitirte aprovechar el poder de la IA generativa, desde las etapas iniciales del desarrollo de apps hasta la implementación, el alojamiento de apps y la administración de datos complejos a gran escala.

La plataforma Vertex AI de Google Cloud ofrece un conjunto de herramientas de operaciones de AA que optimizan el uso, la implementación y la supervisión de los modelos de IA para lograr eficiencia y confiabilidad. Además, las integraciones en bases de datos, herramientas de DevOps, registros, supervisión y, también, IAM proporcionan un enfoque integral para administrar todo el ciclo de vida de la IA generativa.

Obtén más información sobre los casos de uso de Vertex AI en la documentación de Google Cloud.

Migra a los SDKs de Vertex AI in Firebase

La migración a los SDKs de Vertex AI in Firebase requiere tres pasos principales:

  1. Configura un proyecto de Firebase nuevo o existente y conecta tu app a Firebase.

  2. Migra tu base de código, lo que solo requiere cambiar el SDK y el código de inicialización (incluido el nombre del modelo). No se necesita ninguna modificación en el código que llama a la API de Gemini.

  3. Borra las claves de API sin usar y, luego, inhabilita las APIs que no se usen.

Paso 1: Configura un proyecto de Firebase y conecta tu app a Firebase

Incluso si ya conoces Firebase, revisa esta sección para asegurarte de que tu app y proyecto de Firebase estén configurados para usar los SDK de Vertex AI in Firebase.

Paso 2: Migra tu base de código

Selecciona la plataforma de tu app para ver las instrucciones específicas.

Los SDKs de Google AI y de Vertex AI in Firebase se compilaron para que la migración entre las dos plataformas sea lo más sencilla posible.

Para migrar, solo debes cambiar el SDK que integras en la base de código de tu app, y la inicialización del servicio y el modelo generativo. No es necesario modificar el código que llama a Gemini API.

Cambia el SDK

Google AI

Kotlin+KTX

dependencies {
  // ... other androidx dependencies

  // add the dependency for the Google AI client SDK for Android
  implementation("com.google.ai.client.generativeai:generativeai:VERSION")
}

Java

dependencies {
  // ... other androidx dependencies

  // add the dependency for the Google AI client SDK for Android
  implementation("com.google.ai.client.generativeai:generativeai:VERSION")

  // Required for one-shot operations (to use `ListenableFuture` from Reactive Streams)
  implementation("com.google.guava:guava:31.0.1-android")

  // Required for streaming operations (to use `Publisher` from Guava Android)
  implementation("org.reactivestreams:reactive-streams:1.0.4")
}

Vertex AI in Firebase

Kotlin+KTX

dependencies {
  // ... other androidx dependencies

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

Java

dependencies {
  // ... other androidx dependencies

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

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

Cambia la inicialización

Google AI

Kotlin+KTX

val generativeModel = GenerativeModel(modelName = "MODEL_NAME",
    // Access your API key as a Build Configuration variable
    apiKey = BuildConfig.apiKey
)

Java

GenerativeModel gm = new GenerativeModel("MODEL_NAME",
    // Access your API key as a Build Configuration variable
    BuildConfig.apiKey
);

// Use the GenerativeModelFutures Java compatibility layer which offers support for ListenableFuture and Publisher APIs
GenerativeModelFutures model = GenerativeModelFutures.from(gm);

Vertex AI in Firebase

Kotlin+KTX

val generativeModel = Firebase.vertexAI.generativeModel("MODEL_NAME")

Java

GenerativeModel gm = FirebaseVertexAI.getInstance()
        .generativeModel("MODEL_NAME");
GenerativeModelFutures model = GenerativeModelFutures.from(gm);

Actualiza las importaciones

En los siguientes fragmentos de código, se usan las clases Chat, Content y GenerativeModelFutures como ejemplos, pero lo mismo debería aplicarse a otras clases con el mismo nombre de paquete.

Google AI

Kotlin+KTX

import com.google.ai.client.generativeai.Chat
import com.google.ai.client.generativeai.type.Content
import com.google.ai.client.generativeai.java.GenerativeModuleFutures

Java

import com.google.ai.client.generativeai.Chat;
import com.google.ai.client.generativeai.type.Content;
import com.google.ai.client.generativeai.java.GenerativeModuleFutures;

Vertex AI in Firebase

Kotlin+KTX

import com.google.firebase.vertexai.Chat
import com.google.firebase.vertexai.type.Content
import com.google.firebase.vertexai.java.GenerativeModuleFutures

Java

import com.google.firebase.vertexai.Chat;
import com.google.firebase.vertexai.type.Content;
import com.google.firebase.vertexai.java.GenerativeModuleFutures;

Paso 3: Borra las claves de API sin usar y, luego, inhabilita las APIs que no se usan

Si ya no necesitas usar tu clave de API de Google AI, sigue las prácticas recomendadas de seguridad y bórrala. Puedes ver y borrar tus claves de API de Google AI en la sección Claves de API de Google AI Studio.

Además, si ya no usas Google AI Gemini API, inhabilita esta función en tu proyecto. Puedes hacerlo en la consola de Google Cloud desde la página de la API de Generative Language (generativelanguage.googleapis.com). ("API de lenguaje generativo" es el nombre oficial de Google AI Gemini API).

¿Qué más puedes hacer?

  • Tanto Google AI como Vertex AI ofrecen una experiencia de "zona de pruebas" de la IU web llamada "AI Studio" para experimentar con instrucciones y parámetros de modelos. Obtén información para migrar tus mensajes Google AI Studio a Vertex AI Studio en la documentación de Google Cloud.