Primeiros passos com a pesquisa de mídia

Você pode criar rapidamente um app de pesquisa de mídia de última geração. A pesquisa de mídia permite que seu público descubra conteúdo com resultados com a qualidade do Google.

Para informações gerais sobre a Vertex AI para Pesquisa em mídia, consulte Introdução à pesquisa e recomendações de mídia.

Neste tutorial de introdução, você vai usar o conjunto de dados Movielens para demonstrar como fazer upload do seu catálogo de conteúdo de mídia na Vertex AI para Pesquisa. O conjunto de dados Movielens contém um catálogo de filmes (documentos).

Depois de fazer upload dos dados do filme, você criará um app de pesquisa e o testará na página de visualização.

Se você concluiu o tutorial Introdução às recomendações de mídia e ainda tiver o repositório de dados (nome sugerido quickstart-media-data-store), será possível usar esse repositório em vez de criar outro. Nesse caso, inicie o tutorial na Criar um app para pesquisa de mídia.

Tempo estimado para concluir este tutorial: cerca de 1 hora.

Objetivos

  • Saiba como importar documentos de mídia para criar um repositório de dados de mídia.
  • Crie, configure e teste um app de pesquisa.

Antes de seguir este tutorial, siga as etapas descritas em Antes de começar.


Para seguir as instruções passo a passo desta tarefa diretamente no console do Google Cloud, clique em Orientação:

Orientações


Antes de começar

  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

Preparar o conjunto de dados

Observação: se você concluiu o tutorial Primeiros passos com as recomendações de mídia e ainda tiver o repositório de dados (nome sugerido quickstart-media-data-store), pule para Criar um app para pesquisa de mídia.

Você usará o Cloud Shell para importar o conjunto de dados Movielens e reestruturar o conjunto de dados da Vertex AI para Pesquisa para mídia.

Abrir o Cloud Shell

  1. Abra o console do Google Cloud.
  2. Selecione seu projeto do Google Cloud.
  3. Anote o ID do projeto no card Informações do projeto na página do painel. Você vai precisar do ID do projeto para os procedimentos a seguir.
  4. Clique no botão Ativar o Cloud Shell na parte superior do console. Uma sessão do Cloud Shell é aberta dentro de um novo frame na parte inferior do console do Google Cloud e exibe um prompt de linha de comando.

    Cloud Shell

Importar o conjunto de dados

O conjunto de dados do Movielens está disponível em um bucket público do Cloud Storage para facilitar a importação.

  1. Execute o comando a seguir usando o ID do projeto para definir o projeto padrão para a linha de comando.

    gcloud config set project PROJECT_ID
    
  2. Crie um conjunto de dados do BigQuery:

    bq mk movielens
    
  3. Carregue movies.csv em uma nova tabela movies do BigQuery:

    bq load --skip_leading_rows=1 movielens.movies \
      gs://cloud-samples-data/gen-app-builder/media-recommendations/movies.csv \
      movieId:integer,title,genres
    
  4. Carregue ratings.csv em uma nova tabela ratings do BigQuery:

    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
    

Criar visualizações do BigQuery

Nesta etapa, você reestruturará o conjunto de dados MovieLens para que ele siga o formato esperado para armazenamentos de dados de mídia.

Neste guia, você vai criar eventos de usuário view-item falsos nos últimos 90 dias com base em classificações positivas (< 4).

  1. Crie uma visualização que converta a tabela de filmes no esquema Document:

    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
    

    Agora a nova visualização tem o esquema esperado pela API Vertex AI Agent Builder.

  2. Acesse a página do BigQuery no console do Google Cloud.

    Acessar o BigQuery

  3. No painel Explorer, expanda o nome do seu projeto, o conjunto de dados movielens e clique em movies_view para abrir a página de consulta para essa visualização.

    Visualização de produtos

  4. Acesse a guia Explorador de tabelas.

  5. No painel Consulta gerada, clique no botão Copiar para consulta. O editor de consultas é aberto.

  6. Clique em Executar para ver os dados do filme na visualização que você criou.

  7. Crie eventos de usuário fictícios a partir de classificações de filmes executando o seguinte comando do 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
    

Ativar o Vertex AI Agent Builder

  1. No Console do Google Cloud, acesse a página Criador de agentes.

    Criador de agentes

  2. Leia e aceite os Termos de Serviço e clique em Continuar e ativar a API.

Os procedimentos nesta seção orientam você na criação e implantação de um app de pesquisa de mídia.

  1. No Console do Google Cloud, acesse a página Criador de agentes.

    Criador de agentes

  2. Clique em Criar app.

  3. Na página Criar app, em Pesquisa de catálogo de mídia, clique em Criar.

  4. No campo Nome do app, insira um nome para seu app, como quickstart-media-search. O ID do app aparece abaixo do nome dele.

  5. Clique em Continuar.

  6. Se você concluiu o tutorial Introdução às recomendações de mídia e ainda tiver o repositório de dados (nome sugerido quickstart-media-data-store), selecione-o, clique em Criar e pule para Visualizar pesquisa.

  7. Se você não tiver um repositório de dados que contenha o conjunto de dados do MovieLens, crie um novo armazenamento de dados e selecione-o:

    1. Na página Repositórios de dados, clique em Criar repositório de dados.

    2. Insira um nome de exibição para seu repositório de dados, como quickstart-media-data-store, e clique em Criar.

    3. Selecione o repositório de dados que você acabou de criar e clique em Criar para criar o app. A página Selecione uma fonte de dados será aberta.

Importar dados

Em seguida, importe os filmes e os dados de eventos de usuário que foram formatados anteriormente.

Importar documentos

  1. Se a página Selecione uma fonte de dados não for aberta automaticamente:

    • Abra a guia Documentos.
    • Clique em Importar dados.
  2. Na página Selecione uma fonte de dados, escolha BigQuery.

  3. Digite o nome da visualização movies do BigQuery que você criou e clique em Importar.

    PROJECT_ID.movielens.movies_view
    
  4. Aguarde até que todos os documentos sejam importados, o que leva cerca de 15 minutos. Haverá 86537 documentos após a conclusão.

    Verifique o status da operação de importação na guia Atividade. Quando a importação for concluída, o status da operação de importação será alterado para Concluído.

Importar eventos de usuário

  1. Abra a guia Eventos.

  2. Clique em Importar eventos.

  3. Selecione BigQuery.

  4. Digite o nome da visualização user_events do BigQuery que você criou e clique em Importar.

    PROJECT_ID.movielens.user_events
    
  5. É possível passar para a próxima etapa antes da importação dos eventos, mas os resultados da pesquisa ainda não contêm o conjunto de dados completo.

    Verifique o status da operação na guia Atividade. O processo leva cerca de uma hora para ser concluído, porque você está importando milhões de linhas.

  1. No menu de navegação, clique em Configurações.

  2. Na caixa Pesquisar aqui, digite o nome de um filme, como "O Senhor dos Anéis".

  3. Os resultados da pesquisa são relevantes para o título do filme inserido.

  4. Nessa página, você pode personalizar como o widget de pesquisa exibe as informações dos resultados da pesquisa. Consulte Configurar resultados para o widget de pesquisa para saber mais.

    Em apps de pesquisa de mídia, você pode:

    Depois de fazer as mudanças, clique em Salvar e publicar para atualizar o widget.

Implantar o widget de pesquisa

  1. No menu de navegação, clique em Integração.

  2. Verifique se a guia Widget está selecionada.

  3. Selecione Com base no JWT ou OAuth como o tipo de autorização do widget.

  4. No campo Domínio, insira o nome do domínio da página da Web em que você colocará o widget. Por exemplo, se você for copiar o widget para a página da Web example.com/ai.html, digite example.com como o domínio.

  5. Clique em Adicionar e, depois, clique em Salvar.

  6. Copie o snippet de código fornecido na seção Copie o código a seguir para seu aplicativo da Web.

  7. Na sua base de código, gere um token de autorização.

  8. Para passar o token de autorização ao seu widget, use o snippet de código "Definir token de autorização" fornecido na seção Copiar o código a seguir no seu aplicativo da Web e substitua o texto<JWT or OAuth token provided by you backend> pelo token de autorização.

  9. Se precisar de ajuda para integrar o app de pesquisa ao seu app da Web, consulte os exemplos de código em Receber resultados da pesquisa.

Limpar

Para evitar cobranças na conta do Google Cloud pelos recursos usados nesta página, siga estas etapas.

É possível reutilizar o repositório de dados criado para recomendações de mídia no tutorial Primeiros passos com as recomendações de mídia. Siga o tutorial antes do procedimento de limpeza.

  1. Para evitar cobranças desnecessárias do Google Cloud, use o console do Google Cloud para excluir o projeto se ele não for necessário.
  2. Se você criou um novo projeto para saber mais sobre instâncias do Vertex AI Agent Builder e não precisa mais do projeto, exclua-o.
  3. Se você usou um projeto do Google Cloud, exclua os recursos criados para evitar cobranças na sua conta. Para mais informações, consulte Excluir um app, Limpar dados de um repositório de dados e Excluir um repositório de dados.
  4. Siga as etapas em Desativar o Vertex AI Agent Builder.
  5. Se você criou um conjunto de dados do BigQuery, exclua-o no Cloud Shell:

    bq rm --recursive --dataset movielens
    

A seguir