開始使用媒體搜尋

您可以迅速建構最先進的媒體搜尋應用程式。媒體搜尋功能可讓目標對象探索各種內容,品質媲美 Google 的搜尋結果。

如要瞭解 Vertex AI Search for media 的一般資訊,請參閱「媒體搜尋和推薦簡介」。

在這個入門教學課程中,您會使用 Movielens 資料集,示範如何將媒體內容目錄上傳至 Vertex AI Search。Movielens 資料集含有電影目錄 (文件)。

上傳電影資料後,即可建立搜尋應用程式,並透過預覽頁面進行測試。

如果您已完成「開始使用媒體推薦內容」教學課程,而且仍保留資料儲存庫 (建議名稱 quickstart-media-data-store),您可以使用該資料儲存庫,不必另外建立一個。在這種情況下,建議您先從本教學課程的「建立用於媒體搜尋的應用程式」步驟著手。

完成本教學課程的預估時間:約 1 小時。

目標

  • 瞭解如何匯入媒體文件,並依此建立媒體資料儲存庫。
  • 建立、設定及測試搜尋應用程式。

在按照本教學課程操作之前,請確認您已完成「事前準備」這個部分的步驟。


如要直接在 Google Cloud 控制台按照逐步指南操作,請按一下「Guide me」(逐步引導)

逐步引導


事前準備

  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 AI Applications, 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 AI Applications, Cloud Storage, BigQuery APIs.

    Enable the APIs

準備資料集

注意:如果您已完成「開始使用媒體推薦內容」教學課程,且仍保留資料儲存庫 (建議名稱 quickstart-media-data-store),請直接跳到「建立用於媒體搜尋的應用程式」

您將使用 Cloud Shell 匯入 Movielens 資料集,並為 Vertex AI Search for Media 重新建構資料集。

開啟 Cloud Shell

  1. 開啟 Google Cloud 控制台
  2. 選取 Google Cloud 專案。
  3. 請記下資訊主頁「Project info」資訊卡中的專案 ID。您需要專案 ID 才能執行後續程序。
  4. 按一下主控台視窗頂端的「Activate Cloud Shell」(啟用 Cloud Shell) 按鈕。 系統會在Google Cloud 控制台底部的新頁框中開啟 Cloud Shell 工作階段,並顯示指令列提示。

    Cloud Shell

匯入資料集

Movielens 資料集會存放在公開的 Cloud Storage bucket 中,讓您輕鬆匯入。

  1. 使用專案 ID 設定指令列的預設專案,以執行下列步驟。

    gcloud config set project PROJECT_ID
    
  2. 建立 BigQuery 資料集

    bq mk movielens
    
  3. movies.csv 載入新的 movies 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. ratings.csv 載入新的 ratings 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
    

建立 BigQuery 檢視表

在這個步驟中,您將重新建構 Movielens 資料集,使其符合媒體資料儲存庫的預期格式。

在本指南中,您將根據正面評分 (< 4) 建立過去 90 天內的假 view-item 使用者事件。

  1. 建立檢視表來將電影資料表轉換成 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
    

    現在新的檢視表已採用 AI Applications API 預期的結構定義。

  2. 前往 Google Cloud 控制台的「BigQuery」頁面。

    前往 BigQuery

  3. 在「Explorer」窗格中展開專案名稱,展開「movielens資料集,然後點選「movies_view開啟這個檢視表的查詢頁面

    產品檢視畫面

  4. 前往「Table Explorer」(資料表探索工具) 分頁。

  5. 在「Generated query」(產生的查詢) 窗格中,按一下「Copy to query」(複製到查詢) 按鈕。查詢編輯器隨即開啟。

  6. 按一下「Run」(執行),在您建立的 view 中查看電影資料。

  7. 執行下列 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
    

啟用 AI Applications

  1. 前往 Google Cloud 控制台的「AI Applications」頁面。

    AI 應用程式

  2. 閱讀並同意《服務條款》,然後按一下「Continue and activate the API」(繼續並啟用 API)

本節所述程序會引導您建立及部署媒體搜尋應用程式。

  1. 前往 Google Cloud 控制台的「AI Applications」頁面。

    AI 應用程式

  2. 點按「Create app」(建立應用程式)

  3. 在「Create App」(建立應用程式) 頁面,點選「Media catalog search」(媒體目錄搜尋) 下方的「Create」(建立)

  4. 在「Your app name」(您的應用程式名稱) 欄位輸入應用程式的名稱,例如 quickstart-media-search。應用程式 ID 會顯示在引擎名稱下方。

  5. 按一下「Continue」(繼續)

  6. 如果您已完成「開始使用媒體推薦內容」教學課程,且仍保留資料儲存庫 (建議名稱 quickstart-media-data-store),請選取該資料儲存庫,點選「Create」(建立) 並跳到「Preview search」(預覽搜尋結果)

  7. 如果您沒有包含 Movielens 資料集的資料儲存庫,請建立並選取新的資料儲存庫:

    1. 在「Data stores」(資料儲存庫) 頁面中,按一下「Create data store」(建立資料儲存庫)

    2. 輸入資料儲存庫的顯示名稱 (例如 quickstart-media-data-store),然後點選「Create」(建立)

    3. 選取您剛剛建立的資料儲存庫,然後按一下「Create」(建立) 即可建立應用程式。系統會將您重新導向至「Select a data source」(選取資料來源) 頁面。

匯入資料

接下來,請匯入先前已設定格式的電影和使用者事件資料。

匯入文件

  1. 如果系統未自動重新導向至「Select a data source」(選取資料來源) 頁面:

    • 開啟「Documents」(文件) 分頁。
    • 按一下 [Import Data] (匯入資料)
  2. 在「Select a data source」(選取資料來源) 頁面中,選取「BigQuery」

  3. 輸入您建立的 movies BigQuery 檢視表名稱,然後按一下「Import」(匯入)

    PROJECT_ID.movielens.movies_view
    
  4. 等待所有文件都匯入完成,大約需要 15 分鐘。完成後應該有 86537 份文件。

    您可以透過「Activity」(活動) 分頁查看匯入作業狀態。匯入完成後,匯入作業狀態會變更為「Completed」(已完成)

匯入使用者事件

  1. 開啟「Events」(事件) 分頁。

  2. 按一下「Import Events」(匯入活動)

  3. 選取 [BigQuery]

  4. 輸入您建立的 user_events BigQuery 檢視表名稱,然後按一下「Import」(匯入)

    PROJECT_ID.movielens.user_events
    
  5. 您可以在匯入事件前執行下一個步驟,但搜尋結果將不會列出完整的資料集。

    您可以在「Activity」(活動) 分頁中查看作業狀態。由於您匯入了數百萬列的資料,這項程序大約需要一小時才能完成。

  1. 在導覽選單中,按一下「Configurations」(設定)

  2. 在「Search here」(在這裡搜尋) 方塊中輸入電影名稱,例如「魔戒」。

  3. 請注意,搜尋結果會與您輸入的電影標題相關。

  4. 在這個頁面中,您可以自訂搜尋小工具顯示搜尋結果資訊的方式。如需瞭解詳情,請參閱「設定搜尋小工具的結果」。

    您可以對媒體搜尋應用程式執行下列動作:

    變更完成後,按一下「Save and publish」(儲存並發布) 即可更新小工具。

部署搜尋小工具

  1. 在導覽選單中,按一下「Integration」(整合)

  2. 確認已選取「Widget」(小工具) 分頁標籤。

  3. 選取「JWT or OAuth based」(採用 JWT 或 OAuth) 做為小工具授權類型。

  4. 在「Domain」(網域) 欄位中,輸入要放置小工具的網頁網域名稱。舉例來說,如要將小工具複製到網頁 example.com/ai.html,請輸入 example.com 做為網域。

  5. 按一下「Add」(新增),然後點選「Save」(儲存)

  6. 複製「Copy the following code to your web application」(將下列程式碼複製到您的網頁應用程式) 專區中提供的程式碼片段。

  7. 在程式碼集內產生授權權杖。

  8. 如要將授權權杖傳送給小工具,請使用「Copy the following code to your web application」(將下列程式碼複製到您的網頁應用程式) 專區中提供的「Set authorization token」(設定授權權杖) 程式碼片段,並使用授權權杖取代文字 <JWT or OAuth token provided by you backend>

  9. 如要瞭解如何將搜尋應用程式整合至網頁應用程式,請參閱「取得搜尋結果」中的程式碼範例。

清除所用資源

如要避免系統向您的 Google Cloud 帳戶收取您在本頁所用資源的費用,請按照下列步驟操作。

您可以重複使用在「開始使用媒體推薦內容」教學課程中,為媒體推薦內容建立的資料儲存庫。 請先嘗試進行該教學課程,再執行這項清除程序。

  1. 請透過Google Cloud console 刪除不需要的專案,以免產生不必要的 Google Cloud 費用。
  2. 如果您為瞭解 AI Applications 建立了新專案,但現在已不再需要,請刪除專案
  3. 如果您使用現有的 Google Cloud 專案,請刪除稍早建立的資源,以免系統向您的帳戶收取費用。如要瞭解詳情,請參閱「刪除應用程式」、「清除資料儲存庫中的資料」和「刪除資料儲存庫」。
  4. 請按照「關閉 AI Applications」中的步驟操作。
  5. 如果您建立了 BigQuery 資料集,請在 Cloud Shell 中刪除該資料集:

    bq rm --recursive --dataset movielens
    

後續步驟