Comienza a usar las recomendaciones de contenido multimedia

Puedes compilar rápidamente una app de recomendaciones de contenido multimedia de vanguardia. Las recomendaciones de contenido multimedia permiten que tus públicos descubran contenido más personalizado, como qué mirar o leer a continuación, con resultados de calidad de Google personalizados según los objetivos de optimización.

Para obtener información general sobre Vertex AI Search para contenido multimedia, consulta Introducción a la búsqueda y las recomendaciones de contenido multimedia.

En este instructivo de introducción, usarás el conjunto de datos Movielens para demostrar cómo subir tu catálogo de contenido multimedia y eventos de usuario a Vertex AI Search y entrenar un modelo de recomendación de películas personalizado. El conjunto de datos de Movielens contiene un catálogo de películas (documentos) y calificaciones de películas de usuarios (eventos de usuario).

En este instructivo, entrenarás un modelo de recomendación del tipo Otras que podrían gustarte, optimizado para la tasa de clics (CTR). Después del entrenamiento, el modelo puede recomendar películas según un ID de usuario y según una película inicial.

Para cumplir con los requisitos mínimos de datos del modelo, cada calificación positiva de la película (4 o superior) se trata como un evento de vista de elemento.

Tiempo estimado para completar este instructivo:

Si completaste el instructivo Comienza a usar la búsqueda de contenido multimedia y aún tienes el almacén de datos (nombre sugerido: quickstart-media-data-store), puedes usarlo en lugar de crear otro. En este caso, debes comenzar el instructivo en Cómo crear una app para recomendaciones de contenido multimedia.

Objetivos

  • Aprende a importar documentos de medios y datos de eventos de usuario de BigQuery a Vertex AI Search.
  • Entrena y evalúa los modelos de recomendación.

Antes de seguir este instructivo, asegúrate de haber realizado los pasos que se indican en Antes de comenzar.


Para seguir la guía paso a paso en esta tarea directamente en la consola de Google Cloud, haz clic en Guiarme:

GUIARME


Antes de comenzar

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the Vertex AI Agent Builder, Cloud Storage, BigQuery APIs.

    Enable the APIs

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  6. Make sure that billing is enabled for your Google Cloud project.

  7. Enable the Vertex AI Agent Builder, Cloud Storage, BigQuery APIs.

    Enable the APIs

Prepara el conjunto de datos

Usa Cloud Shell para importar el conjunto de datos de Movielens y reestructurarlo para Vertex AI Search para contenido multimedia.

Abre Cloud Shell

  1. Abre la consola de Google Cloud.
  2. Selecciona tu proyecto de Google Cloud.
  3. Anota el ID del proyecto en la tarjeta de Información del proyecto en la página del panel. Necesitarás el ID del proyecto para los siguientes procedimientos.
  4. Haz clic en el botón Activar Cloud Shell que se encuentra en la parte superior de la consola. Se abrirá una sesión de Cloud Shell en un marco nuevo en la parte inferior de la consola de Google Cloud, que mostrará un mensaje de la línea de comandos.

    Cloud Shell

Importa el conjunto de datos

El conjunto de datos de Movielens está disponible en un bucket de Cloud Storage público para facilitar la importación.

  1. Ejecuta el siguiente comando con tu ID del proyecto para establecer el proyecto predeterminado para la línea de comandos.

    gcloud config set project PROJECT_ID
    
  2. Crea un conjunto de datos de BigQuery:

    bq mk movielens
    
  3. Carga movies.csv en una tabla de BigQuery movies nueva:

    bq load --skip_leading_rows=1 movielens.movies \
      gs://cloud-samples-data/gen-app-builder/media-recommendations/movies.csv \
      movieId:integer,title,genres
    
  4. Carga ratings.csv en una tabla de BigQuery ratings nueva:

    bq load --skip_leading_rows=1 movielens.ratings \
      gs://cloud-samples-data/gen-app-builder/media-recommendations/ratings.csv \
      userId:integer,movieId:integer,rating:float,time:timestamp
    

Crea vistas de BigQuery

En este paso, reestructurarás el conjunto de datos de Movielens para que siga el formato esperado para las recomendaciones de contenido multimedia. Las recomendaciones de contenido multimedia requieren datos de eventos del usuario para crear un modelo. En esta guía, crearás eventos view-item falsos durante los últimos 90 días a partir de calificaciones positivas (< 4).

  1. Crea una vista que convierta la tabla de películas en el esquema Document definido por Google:

    bq mk --project_id=PROJECT_ID \
     --use_legacy_sql=false \
     --view '
      WITH t AS (
        SELECT
          CAST(movieId AS string) AS id,
          SUBSTR(title, 0, 128) AS title,
          SPLIT(genres, "|") AS categories
          FROM `PROJECT_ID.movielens.movies`)
        SELECT
          id, "default_schema" as schemaId, null as parentDocumentId,
          TO_JSON_STRING(STRUCT(title as title, categories as categories,
          CONCAT("http://mytestdomain.movie/content/", id) as uri,
          "2023-01-01T00:00:00Z" as available_time,
          "2033-01-01T00:00:00Z" as expire_time,
          "movie" as media_type)) as jsonData
        FROM t;' \
    movielens.movies_view
    

    Ahora, la vista nueva tiene el esquema que espera la API de Vertex AI Agent Builder.

  2. Ve a la página de BigQuery en la consola de Google Cloud.

    Ir a BigQuery

  3. En el panel Explorador, expande el nombre de tu proyecto, expande el conjunto de datos movielens y haz clic en movies_view para abrir la página de consulta para esta vista.

    Vista de productos

  4. Ve a la pestaña Explorador de tablas.

  5. En el panel Consulta generada, haz clic en el botón Copiar a la consulta. Se abre el Editor de consultas.

  6. Haz clic en Ejecutar para ver los datos de películas en la vista que creaste.

  7. Ejecuta el siguiente comando de Cloud Shell para crear eventos de usuario ficticios a partir de calificaciones de películas:

    bq mk --project_id=PROJECT_ID \
     --use_legacy_sql=false \
     --view '
     WITH t AS (
      SELECT
        MIN(UNIX_SECONDS(time)) AS old_start,
        MAX(UNIX_SECONDS(time)) AS old_end,
        UNIX_SECONDS(TIMESTAMP_SUB(
        CURRENT_TIMESTAMP(), INTERVAL 90 DAY)) AS new_start,
        UNIX_SECONDS(CURRENT_TIMESTAMP()) AS new_end
      FROM `PROJECT_ID.movielens.ratings`)
      SELECT
        CAST(userId AS STRING) AS userPseudoId,
        "view-item" AS eventType,
        FORMAT_TIMESTAMP("%Y-%m-%dT%X%Ez",
        TIMESTAMP_SECONDS(CAST(
          (t.new_start + (UNIX_SECONDS(time) - t.old_start) *
          (t.new_end - t.new_start) / (t.old_end - t.old_start))
        AS int64))) AS eventTime,
        [STRUCT(movieId AS id, null AS name)] AS documents,
      FROM `PROJECT_ID.movielens.ratings`, t
      WHERE rating >= 4;' \
      movielens.user_events
    

Activa Vertex AI Agent Builder

  1. En la consola de Google Cloud, ve a la página Agent Builder.

    Agent Builder

  2. Lee y acepta las Condiciones del Servicio y, luego, haz clic en Continuar y activar la API.

Cómo crear una app para recomendaciones de contenido multimedia

Los procedimientos de esta sección te guiarán para crear e implementar una app de recomendaciones de contenido multimedia.

  1. En la consola de Google Cloud, ve a la página Agent Builder.

    Agent Builder

  2. Haz clic en Crear app.

  3. En la página Crear app, en Recomendaciones de contenido multimedia, haz clic en Crear.

  4. En el campo Nombre de la app, ingresa un nombre para ella, como quickstart-media-recommendations. El ID de la app aparece debajo del nombre de la app.

  5. En Tipo de recomendaciones, asegúrate de que esté seleccionada la opción Otras que podrían gustarte.

  6. En Objetivo comercial, asegúrate de que esté seleccionada la opción Tasa de clics (CTR).

  7. Haz clic en Continuar.

  8. Si completaste el instructivo Comienza a usar la búsqueda de contenido multimedia y aún tienes el almacén de datos (nombre sugerido quickstart-media-data-store), selecciónalo, haz clic en Crear y ve a Entrena el modelo de recomendaciones.

  9. En la página Almacenes de datos, haz clic en Crear almacén de datos nuevo.

  10. Ingresa un nombre visible para tu almacén de datos, como quickstart-media-data-store, y, luego, haz clic en Crear.

  11. Selecciona el almacén de datos que acabas de crear y, luego, haz clic en Crear para crear tu aplicación.

Importar datos

A continuación, importa las películas y los datos de eventos de usuario con el formato anterior.

Importar documentos

  1. En Fuentes nativas, en la página Importar documentos, selecciona BigQuery.

  2. Ingresa el nombre de la vista de BigQuery movies que creaste y haz clic en Importar.

    PROJECT_ID.movielens.movies_view
    
  3. Espera hasta que se hayan importado todos los documentos; esto debería tardar unos 15 minutos. Debería haber 86,537 documentos cuando esté completo.

    Puedes consultar la pestaña Actividad para conocer el estado de la operación de importación. Cuando se completa la importación, el estado de la operación de importación cambia a Completado.

Importar eventos de usuario

  1. En la pestaña Eventos, haz clic en Importar eventos.

  2. En Fuentes nativas, en la página Importar documentos, selecciona BigQuery.

  3. Ingresa el nombre de la vista de BigQuery user_events que creaste y haz clic en Importar.

    PROJECT_ID.movielens.user_events
    
  4. Espera hasta que se haya importado al menos un evento antes de continuar con el siguiente paso, a fin de cumplir con los requisitos de datos para entrenar un modelo nuevo.

    Puedes consultar la pestaña Actividad para conocer el estado de la operación. El proceso tarda alrededor de una hora en completarse porque importas millones de filas.

  5. Para ver si se cumplieron los requisitos, ve a la pestaña Calidad de los datos > Requisitos. Incluso después de que se hayan importado los eventos del usuario, la pestaña Requisitos puede tardar un poco en actualizar su estado a Cumple con los requisitos de datos.

Entrenar el modelo de recomendación

  1. Ve a la página Configuraciones.

  2. Haz clic en la pestaña Entrega. Ya se creó una configuración de entrega.

    Si quieres ajustar la configuración de Descenso de recomendaciones o Diversificación de resultados, puedes hacerlo en esta página.

  3. Haz clic en la pestaña Entrenamiento.

    Una vez que se cumplen los requisitos de datos, el modelo comienza a entrenarse automáticamente. Puedes ver el estado del entrenamiento y el ajuste en esta página.

    Es posible que el modelo tarde un par de días en entrenarse y estar listo para consultar. En el campo Modelo listo para consultar, se indica cuando se completa el proceso. Tendrás que actualizar la página para ver el cambio de No a .

Obtener vista previa de las recomendaciones

Una vez que el modelo esté listo para realizar consultas, haz lo siguiente:

  1. En el menú de navegación, haz clic en Vista previa.

  2. Haz clic en el campo ID del documento. Aparecerá una lista de los IDs de documento.

  3. Ingresa un ID de documento (película) inicial, como 4993 para “El señor de los anillos: La comunidad del anillo (2001)”.

    Ingresa el ID

  4. Selecciona el nombre Configuración de entrega en el menú desplegable.

  5. Haz clic en Obtener recomendaciones. Aparecerá una lista de documentos recomendados.

Implementa tu app para datos estructurados

No hay widgets de recomendaciones para implementar la app. Para probar tu app antes de la implementación, haz lo siguiente:

  1. Ve a la página Datos en la pestaña Documentos y copia el ID de un documento.

  2. Ve a la página Integración. En esta página, se incluye un comando de muestra para el método servingConfigs.recommend en la API de REST.

  3. Pega el ID de documento que copiaste y pegaste antes en el campo ID de documento.

  4. Deja el campo Seudo-ID del usuario tal como está.

  5. Copia la solicitud de ejemplo y ejecútala en Cloud Shell.

Si quieres obtener ayuda para integrar la app de recomendaciones en tu app web, consulta las muestras de código en Obtén recomendaciones de contenido multimedia.

Limpia

Sigue estos pasos para evitar que se apliquen cargos a tu cuenta de Google Cloud por los recursos que usaste en esta página.

Puedes volver a usar el almacén de datos que creaste para la búsqueda de contenido multimedia en el instructivo Comienza a usar la búsqueda de contenido multimedia. Prueba ese instructivo antes de realizar este procedimiento de limpieza.

  1. A fin de evitar cargos innecesarios de Google Cloud, usa la consola de Google Cloud para borrar tu proyecto si no lo necesitas.
  2. Si creaste un proyecto nuevo para obtener información acerca de Vertex AI Agent Builder y ya no necesitas el proyecto, borra el proyecto.
  3. Si usaste un proyecto existente de Google Cloud, borra los recursos que creaste para evitar que se generen cargos en tu cuenta. Para obtener más información, consulta Borra una app.
  4. Sigue los pasos que se indican en Desactiva Vertex AI Agent Builder.
  5. Si creaste un conjunto de datos de BigQuery, bórralo de Cloud Shell:

    bq rm --recursive --dataset movielens
    

¿Qué sigue?