Migra para usar la versión de DG de Vertex AI en Firebase


Vertex AI in Firebase se lanzó a la disponibilidad general (DG) el 21 de octubre de 2024.

Si usaste la versión preliminar de la biblioteca Vertex AI in Firebase (FirebaseVertexAI-Preview), debes realizar los siguientes cambios para actualizar y usar la versión GA de la biblioteca (FirebaseVertexAI).

Esta es una lista de alto nivel de los cambios necesarios para migrar:

Habilita la nueva API obligatoria en tu proyecto de Firebase (obligatorio para todos)

Debes habilitar la API de Vertex AI in Firebase en tu proyecto de Firebase y agregarla a la lista de entidades permitidas de tu clave de API de Firebase. Esta es una API nueva que se requiere para usar la versión de GA de Vertex AI in Firebase.

  1. En la consola de Firebase, ve a la página Crear con Gemini.

  2. En la tarjeta Vertex AI in Firebase, haz clic en Comenzar para iniciar un flujo de trabajo que te ayude a habilitar esta API y agregarla a la lista de entidades permitidas de tu clave de API de Firebase.

  3. Puedes omitir el resto del flujo de trabajo en la consola.

Actualiza a la versión GA de la biblioteca (obligatorio para todos)

Sigue estas instrucciones para actualizar la base de código de tu app y usar la versión GA de la biblioteca:

  1. En Xcode, con el proyecto de tu app abierto, actualiza el paquete de Firebase a la versión 11.4.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.

  2. Asegúrate de que el paquete de Firebase ahora muestre la versión 11.4.0 o una posterior. Si no es así, verifica que los Requisitos del paquete especificados permitan la actualización a la versión 11.6.0 o una posterior.

  3. Selecciona el destino de tu app en el Editor de proyectos y, luego, navega a la sección Frameworks, bibliotecas y contenido incorporado.

  4. Selecciona el botón + y, luego, agrega FirebaseVertexAI desde el paquete de Firebase.

  5. Selecciona FirebaseVertexAI-Preview y, luego, presiona el botón .

Cambios adicionales (obligatorios según las funciones que uses)

Se implementaron varios cambios para las versiones GA de los SDKs. Revisa las siguientes listas para ver si debes realizar algún cambio en tu código para incorporar la versión GA del SDK en tu app.

  • Llamadas a funciones
    Si implementaste esta función antes de la versión GA, deberás actualizar la manera en que defines tu esquema. Te recomendamos que revises la guía actualizada de llamadas a función para aprender a escribir las declaraciones de tus funciones.

  • Cómo generar un resultado estructurado (como JSON) con responseSchema
    Si implementaste esta función antes de la DG, deberás actualizar la forma en que defines tu esquema. Te recomendamos que revises la nueva guía de salida estructurada para aprender a escribir esquemas JSON.

  • Tiempo de espera

    • Se cambió el tiempo de espera predeterminado de las solicitudes a 180 segundos.
  • Enumeraciones

    • Se reemplazaron la mayoría de los tipos enum por struct con variables estáticas. Este cambio permite más flexibilidad para evolucionar la API de forma retrocompatible. Cuando uses sentencias switch, ahora debes incluir un caso default: para cubrir valores desconocidos o no controlados, incluidos los valores nuevos que se agreguen al SDK en el futuro.

    • Se cambió el nombre de la enumeración BlockThreshold a HarmBlockThreshold. Este tipo ahora es struct.

    • Se quitaron los casos unknown y unspecified de las siguientes enumeraciones (ahora struct): HarmCategory, HarmBlockThreshold, HarmProbability, BlockReason y FinishReason.

    • Se reemplazó la enumeración ModelContent.Part por un protocolo llamado Part para permitir que se agreguen tipos nuevos de forma retrocompatible. Este cambio se describe con más detalle en la sección Partes del contenido.

  • Partes del contenido

    • Se quitó el protocolo ThrowingPartsRepresentable y se simplificaron los inicializadores para ModelContent para evitar errores ocasionales del compilador. Las imágenes que no se codifican correctamente seguirán arrojando errores cuando se usen en generateContent.

    • Se reemplazaron los casos ModelContent.Part por los siguientes tipos struct que cumplen con el protocolo Part:

      • De .text a TextPart
      • De .data a InlineDataPart
      • De .fileData a FileDataPart
      • De .functionCall a FunctionCallPart
      • De .functionResponse a FunctionResponsePart
  • Categoría de daño

    • Se cambió HarmCategory para que ya no esté anidado en el tipo SafetySetting. Si te refieres a él como SafetySetting.HarmCategory, se puede reemplazar por HarmCategory.
  • Comentarios sobre seguridad

    • Se quitó el tipo SafetyFeedback, ya que no se usó en ninguna de las respuestas.
  • Metadatos de citas

    • Se cambió el nombre de la propiedad citationSources a citations en CitationMetadata.
  • Total de caracteres facturables

    • Se cambió la propiedad totalBillableCharacters en CountTokensResponse para que sea opcional y refleje situaciones en las que no se envían caracteres.
  • Respuesta del candidato

    • Se cambió el nombre de CandidateResponse por Candidate para que coincida con otras plataformas.
  • Configuración de generación

    • Se cambiaron las propiedades públicas de GenerationConfig a internal. Todos se pueden configurar en el inicializador.

Posibles errores relacionados con la migración

Cuando realices la migración para usar la versión GA de Vertex AI in Firebase, es posible que encuentres errores si no completaste todos los cambios necesarios, como se describe en esta guía de migración.

Error 403: Requests to this API firebasevertexai.googleapis.com ... are blocked.

Si recibes un error 403 que dice Requests to this API firebasevertexai.googleapis.com ... are blocked., por lo general, significa que la clave de API en tu objeto o archivo de configuración de Firebase no tiene una API requerida en su lista de entidades permitidas para el producto que intentas usar.

Asegúrate de que la clave de API que usa tu app tenga todas las APIs requeridas incluidas en la lista de entidades permitidas de "restricciones de API". En el caso de Vertex AI in Firebase, tu clave de API debe tener, como mínimo, la API de Vertex AI in Firebase en su lista de entidades permitidas. Esta API debería haberse agregado automáticamente a la lista de entidades permitidas de tu clave de API cuando habilitaste la nueva API a través de la consola de Firebase.

Puedes ver todas tus claves de API en el panel APIs y servicios > Credenciales de la consola de Google Cloud.