Empezar a usar la búsqueda de contenido multimedia
Puedes crear rápidamente una aplicación de búsqueda de contenido multimedia de vanguardia. La búsqueda de contenido multimedia permite a tus audiencias descubrir contenido con resultados de calidad de Google.
Para obtener información general sobre Vertex AI Search para medios, consulta la introducción a la búsqueda y las recomendaciones de contenido multimedia.En este tutorial de introducción, usarás el conjunto de datos Movielens para mostrar cómo subir tu catálogo de contenido multimedia a Vertex AI Search. El conjunto de datos Movielens contiene un catálogo de películas (documentos).
Después de subir los datos de la película, crearás una aplicación de búsqueda y la probarás en la página de vista previa.
Si has completado el tutorial Empezar a usar las recomendaciones 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 empezar el tutorial en la sección Crear una aplicación para buscar contenido multimedia.
Tiempo estimado para completar este tutorial: aproximadamente 1 hora.
Objetivos
- Consulta cómo importar documentos multimedia para crear un almacén de datos multimedia.
- Crea, configura y prueba una aplicación de búsqueda.
Antes de seguir este tutorial, asegúrate de haber completado los pasos que se indican en la sección Antes de empezar.
Para seguir las instrucciones paso a paso de esta tarea directamente en la Google Cloud consola, haga clic en Ayúdame:
Antes de empezar
- 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.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the AI Applications, Cloud Storage, BigQuery APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles. -
Make sure that you have the following role or roles on the project: Discovery Engine Admin
Check for the roles
-
In the Google Cloud console, go to the IAM page.
Go to IAM - Select the project.
-
In the Principal column, find all rows that identify you or a group that you're included in. To learn which groups you're included in, contact your administrator.
- For all rows that specify or include you, check the Role column to see whether the list of roles includes the required roles.
Grant the roles
-
In the Google Cloud console, go to the IAM page.
Ir a IAM - Selecciona el proyecto.
- Haz clic en Conceder acceso.
-
En el campo Nuevos principales, introduce tu identificador de usuario. Normalmente, se trata de la dirección de correo de una cuenta de Google.
- En la lista Selecciona un rol, elige un rol.
- Para conceder más roles, haz clic en Añadir otro rol y añade cada rol adicional.
- Haz clic en Guardar.
-
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the AI Applications, Cloud Storage, BigQuery APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles. -
Make sure that you have the following role or roles on the project: Discovery Engine Admin
Check for the roles
-
In the Google Cloud console, go to the IAM page.
Go to IAM - Select the project.
-
In the Principal column, find all rows that identify you or a group that you're included in. To learn which groups you're included in, contact your administrator.
- For all rows that specify or include you, check the Role column to see whether the list of roles includes the required roles.
Grant the roles
-
In the Google Cloud console, go to the IAM page.
Ir a IAM - Selecciona el proyecto.
- Haz clic en Conceder acceso.
-
En el campo Nuevos principales, introduce tu identificador de usuario. Normalmente, se trata de la dirección de correo de una cuenta de Google.
- En la lista Selecciona un rol, elige un rol.
- Para conceder más roles, haz clic en Añadir otro rol y añade cada rol adicional.
- Haz clic en Guardar.
-
- Abre la Google Cloud consola.
- Selecciona tu proyecto de Google Cloud .
- Anota el ID del proyecto en la tarjeta Información del proyecto de la página del panel de control. Necesitará el ID del proyecto para los siguientes procedimientos.
Haz clic en el botón Activar Cloud Shell situado en la parte superior de la consola. Se abrirá una sesión de Cloud Shell dentro de un nuevo marco en la parte inferior de laGoogle Cloud consola y se mostrará en ella un mensaje de la línea de comandos. Para ver otras formas de iniciar Cloud Shell, consulta Iniciar Cloud Shell.
Ejecuta el siguiente comando con el ID de tu proyecto para definir el proyecto predeterminado de la línea de comandos.
gcloud config set project PROJECT_ID
Crea un conjunto de datos de BigQuery:
bq mk movielens
Carga
movies.csv
en una tabla de BigQuerymovies
nueva:bq load --skip_leading_rows=1 movielens.movies \ gs://cloud-samples-data/gen-app-builder/media-recommendations/movies.csv \ movieId:integer,title,genres
Carga
ratings.csv
en una tabla de BigQueryratings
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 una vista que convierta la tabla de películas al
Document
esquema: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 nueva vista tiene el esquema que espera la API AI Applications.
Ve a la página BigQuery de la consola de Google Cloud .
En el panel Explorador, despliega el nombre de tu proyecto, el conjunto de datos
movielens
y haz clic enmovies_view
para abrir la página de consulta de esta vista.Vaya a la pestaña Explorador de tablas.
En el panel Consulta generada, haz clic en el botón Copiar en consulta. Se abrirá el editor de consultas.
Haz clic en Ejecutar para ver los datos de la película en la vista que has creado.
Crea eventos de usuario ficticios a partir de las valoraciones de películas ejecutando el siguiente comando de Cloud Shell:
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
En la Google Cloud consola, ve a la página Aplicaciones de IA.
Opcional: Haz clic en Permitir que Google muestree selectivamente las entradas y las respuestas del modelo.
Haz clic en Continuar y activar la API.
En la Google Cloud consola, ve a la página Aplicaciones de IA.
Haz clic en
Crear aplicación .En la página Crear aplicación, en Búsqueda en el catálogo de contenido multimedia, haz clic en Crear.
En el campo Nombre de tu aplicación, escribe un nombre para tu aplicación, como
quickstart-media-search
. El ID de tu aplicación aparece debajo del nombre del motor.Haz clic en Continuar.
Si has completado el tutorial Empezar a usar las recomendaciones 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 Previsualizar búsqueda.Si no tienes ningún almacén de datos que contenga el conjunto de datos movielens, crea uno y selecciónalo:
En la página Almacenes de datos, haga clic en Crear almacén de datos.
Introduce un nombre visible para tu almacén de datos, como
quickstart-media-data-store
, y haz clic en Crear.Selecciona el almacén de datos que acabas de crear y, a continuación, haz clic en Crear para crear tu aplicación. Se te redirigirá a la página Seleccionar una fuente de datos.
Si no se le redirige automáticamente a la página Seleccionar una fuente de datos, siga estos pasos:
- Abre la pestaña Documentos.
- Haga clic en Importar datos.
En la página Seleccionar una fuente de datos, selecciona BigQuery.
Escribe el nombre de la
movies
vista de BigQuery que has creado y haz clic en Importar.PROJECT_ID.movielens.movies_view
Espera a que se importen todos los documentos (unos 15 minutos). Cuando se complete, debería haber 86.537 documentos.
Puede consultar el estado de la operación de importación en la pestaña Actividad. Cuando la importación se haya completado, el estado de la operación cambiará a Completado.
Abra la pestaña Eventos.
Haz clic en Importar eventos.
Selecciona BigQuery.
Escribe el nombre de la
user_events
vista de BigQuery que has creado y haz clic en Importar.PROJECT_ID.movielens.user_events
Puedes ir al siguiente paso antes de que se importen los eventos, pero los resultados de búsqueda aún no contendrán el conjunto de datos completo.
Puede consultar el estado de la operación en la pestaña Actividad. El proceso tarda aproximadamente una hora en completarse porque estás importando millones de filas.
En el menú de navegación, haz clic en
Configuraciones .En el cuadro Buscar aquí, escribe el nombre de una película, como "El Señor de los Anillos".
Los resultados de búsqueda son relevantes para el título de la película introducido.
En esta página, puede personalizar cómo muestra el widget de búsqueda la información de los resultados de búsqueda. Para obtener más información, consulta Configurar los resultados del widget de búsqueda.
En las aplicaciones de búsqueda de contenido multimedia, puedes hacer lo siguiente:
Después de hacer los cambios, haz clic en Guardar y publicar para actualizar el widget.
En el menú de navegación, haz clic en Integración.
Asegúrate de que la pestaña Widget esté seleccionada.
Selecciona Basado en JWT u OAuth como tipo de autorización del widget.
En el campo Dominio, introduce el nombre de dominio de la página web en la que colocarás el widget. Por ejemplo, si vas a copiar el widget en la página web
example.com/ai.html
, introduceexample.com
como dominio.Haz clic en Añadir y, a continuación, en Guardar.
Copie el fragmento de código que se proporciona en la sección Copie el siguiente código en su aplicación web.
En tu código base, genera un token de autorización.
Para transferir el token de autorización a tu widget, usa el fragmento de código "Set authorization token" que se proporciona en la sección Copia el siguiente código en tu aplicación web y sustituye el texto
<JWT or OAuth token provided by you backend>
por tu token de autorización.Para obtener ayuda sobre cómo integrar la aplicación de búsqueda en tu aplicación web, consulta los ejemplos de código en Obtener resultados de búsqueda.
- Para evitar cargos innecesarios, usa la Google Cloud console para eliminar tu proyecto si no lo necesitas. Google Cloud
- Si has creado un proyecto para aprender sobre las aplicaciones de IA y ya no lo necesitas, elimínalo.
- Si has usado un proyecto, elimina los recursos que hayas creado para evitar que se apliquen cargos en tu cuenta. Google Cloud Para obtener más información, consulta Eliminar una aplicación, Eliminar datos de un almacén de datos y Eliminar un almacén de datos.
- Sigue los pasos que se indican en Desactivar Vertex AI Search.
Si has creado un conjunto de datos de BigQuery, elimínalo en Cloud Shell:
bq rm --recursive --dataset movielens
Preparar el conjunto de datos
Nota: Si has completado el tutorial Empezar a usar las recomendaciones de contenido multimedia y aún tienes el almacén de datos (nombre sugerido:quickstart-media-data-store
), ve a Crear una aplicación para buscar contenido multimedia.
Usarás Cloud Shell para importar el conjunto de datos Movielens y reestructurarlo para Vertex AI Search for media.
Abre Cloud Shell
Importar el conjunto de datos
El conjunto de datos Movielens está disponible en un segmento público de Cloud Storage para facilitar su importación.
Crear vistas de BigQuery
En este paso, reestructuras el conjunto de datos de Movielens para que siga el formato esperado de los almacenes de datos multimedia.
En esta guía, creará eventos de usuario falsos view-item
durante los últimos 90 días
a partir de valoraciones positivas (>= 4
).
Activar aplicaciones de IA
Crear una aplicación para buscar contenido multimedia
Los procedimientos de esta sección te guiarán para crear y desplegar una aplicación de búsqueda de contenido multimedia.
Importación de datos
A continuación, importa los datos de películas y eventos de usuario que se han formateado anteriormente.
Importar documentos
Importar eventos de usuario
Previsualizar y configurar la búsqueda
Implementar el widget de búsqueda
Limpieza
Para evitar que se apliquen cargos en tu cuenta de Google Cloud por los recursos utilizados en esta página, sigue estos pasos.
Puedes reutilizar el almacén de datos que has creado para las recomendaciones de contenido multimedia en el tutorial Empezar a usar las recomendaciones de contenido multimedia. Prueba ese tutorial antes de seguir este procedimiento de limpieza.