開始使用媒體搜尋
您可以迅速建構最先進的媒體搜尋應用程式。媒體搜尋功能可讓目標對象探索各種內容,品質媲美 Google 的搜尋結果。
如需 Vertex AI Search for media 的一般資訊,請參閱「媒體搜尋和推薦簡介」。在這個入門教學課程中,您會使用 Movielens 資料集,示範如何將媒體內容目錄上傳至 Vertex AI Search。Movielens 資料集含有電影目錄 (文件)。
上傳電影資料後,即可建立搜尋應用程式,並透過預覽頁面進行測試。
如果您已完成「開始使用媒體推薦內容」教學課程,而且仍保留資料儲存庫 (建議名稱 quickstart-media-data-store
),您可以使用該資料儲存庫,不必另外建立一個。在這種情況下,建議您先從本教學課程的「建立用於媒體搜尋的應用程式」步驟著手。
完成本教學課程的預估時間:約 1 小時。
目標
- 瞭解如何匯入媒體文件,並依此建立媒體資料儲存庫。
- 建立、設定及測試搜尋應用程式。
按照本教學課程操作前,請確認您已完成「事前準備」部分的步驟。
如要直接在 Google Cloud 控制台按照逐步指南操作,請按一下「Guide me」(逐步引導):
事前準備
- 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.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the AI Applications, Cloud Storage, BigQuery APIs.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the AI Applications, Cloud Storage, BigQuery APIs.
- 開啟 Google Cloud 控制台。
- 選取 Google Cloud 專案。
- 記下資訊主頁頁面「專案資訊」資訊卡中的專案 ID。您需要專案 ID 才能執行下列程序。
按一下主控台視窗頂端的「Activate Cloud Shell」(啟用 Cloud Shell) 按鈕。 系統會在Google Cloud 控制台底部的新頁框中開啟 Cloud Shell 工作階段,並顯示指令列提示。
使用專案 ID 設定指令列的預設專案,以執行下列步驟。
gcloud config set project PROJECT_ID
建立 BigQuery 資料集
bq mk movielens
將
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
將
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
建立檢視表來將電影資料表轉換成
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 預期的結構定義。
前往 Google Cloud 控制台的「BigQuery」頁面。
在「Explorer」窗格中展開專案名稱,展開「
movielens
」資料集,然後點選「movies_view
」開啟這個 view 的查詢頁面前往「Table Explorer」(資料表探索工具) 分頁。
在「Generated query」(產生的查詢) 窗格中,按一下「Copy to query」(複製到查詢) 按鈕。查詢編輯器隨即開啟。
按一下「Run」(執行),在您建立的 view 中查看電影資料。
執行下列 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
前往 Google Cloud 控制台的「AI Applications」頁面。
選用:按一下「允許 Google 對模型輸入內容和回覆進行選擇性取樣」。
點選「Continue and activate the API」。
前往 Google Cloud 控制台的「AI Applications」頁面。
點按
「Create app」(建立應用程式) 。在「Create App」(建立應用程式) 頁面,點選「Media catalog search」(媒體目錄搜尋) 下方的「Create」(建立)。
在「Your app name」(您的應用程式名稱) 欄位輸入應用程式的名稱,例如
quickstart-media-search
。應用程式 ID 會顯示在引擎名稱下方。按一下「Continue」(繼續)。
如果您已完成「開始使用媒體推薦內容」教學課程,且仍保留資料儲存庫 (建議名稱
quickstart-media-data-store
),請選取該資料儲存庫,點選「Create」(建立) 並跳到「預覽搜尋結果」。如果您沒有包含 Movielens 資料集的資料儲存庫,請建立並選取新的資料儲存庫:
在「Data stores」(資料儲存庫) 頁面中,按一下「Create data store」(建立資料儲存庫)。
輸入資料儲存庫的顯示名稱 (例如
quickstart-media-data-store
),然後點選「Create」(建立)。選取您剛剛建立的資料儲存庫,然後按一下「Create」(建立) 即可建立應用程式。系統會將您重新導向至「Select a data source」(選取資料來源) 頁面。
如果系統未自動重新導向至「Select a data source」(選取資料來源) 頁面:
- 開啟「Documents」(文件) 分頁。
- 按一下 [Import Data] (匯入資料)。
在「Select a data source」(選取資料來源) 頁面中,選取「BigQuery」。
輸入您建立的
movies
BigQuery 檢視表名稱,然後按一下「Import」(匯入)。PROJECT_ID.movielens.movies_view
等待所有文件都匯入完成,大約需要 15 分鐘。完成後應該有 86537 份文件。
您可以透過「Activity」(活動) 分頁查看匯入作業狀態。匯入完成後,匯入作業狀態會變更為「Completed」(已完成)。
開啟「Events」(事件) 分頁。
按一下「Import Events」(匯入活動)。
選取 [BigQuery]。
輸入您建立的
user_events
BigQuery 檢視表名稱,然後按一下「Import」(匯入)。PROJECT_ID.movielens.user_events
您可以在匯入事件前執行下一個步驟,但搜尋結果將不會列出完整的資料集。
您可以在「Activity」(活動) 分頁中查看作業狀態。由於您匯入了數百萬列的資料,這項程序大約需要一小時才能完成。
在導覽選單中,按一下
「Configurations」(設定) 。在「Search here」(在這裡搜尋) 方塊中輸入電影名稱,例如「魔戒」。
請注意,搜尋結果會與您輸入的電影標題相關。
在這個頁面中,您可以自訂搜尋小工具顯示搜尋結果資訊的方式。如需瞭解詳情,請參閱「設定搜尋小工具的結果」。
您可以對媒體搜尋應用程式執行下列動作:
變更完成後,按一下「Save and publish」(儲存並發布) 即可更新小工具。
在導覽選單中,按一下「Integration」(整合)。
確認已選取「Widget」(小工具) 分頁標籤。
選取「JWT or OAuth based」(採用 JWT 或 OAuth) 做為小工具授權類型。
在「Domain」(網域) 欄位中,輸入要放置小工具的網頁網域名稱。舉例來說,如要將小工具複製到網頁
example.com/ai.html
,請輸入example.com
做為網域。按一下「Add」(新增),然後點選「Save」(儲存)。
複製「Copy the following code to your web application」(將下列程式碼複製到您的網頁應用程式) 專區中提供的程式碼片段。
在程式碼集內產生授權權杖。
如要將授權權杖傳送給小工具,請使用「Copy the following code to your web application」(將下列程式碼複製到您的網頁應用程式) 專區中提供的「Set authorization token」(設定授權權杖) 程式碼片段,並使用授權權杖取代文字
<JWT or OAuth token provided by you backend>
。如要瞭解如何將搜尋應用程式整合至網頁應用程式,請參閱「取得搜尋結果」中的程式碼範例。
- 請透過Google Cloud console 刪除不需要的專案,以免產生不必要的 Google Cloud 費用。
- 如果您為瞭解 AI Applications 建立了新專案,但現在已不再需要,請刪除專案。
- 如果您使用現有的 Google Cloud 專案,請刪除稍早建立的資源,以免系統向您的帳戶收取費用。如要瞭解詳情,請參閱「刪除應用程式」、「清除資料儲存庫中的資料」和「刪除資料儲存庫」。
- 按照「關閉 Vertex AI Search」一文中的步驟操作。
如果您建立了 BigQuery 資料集,請在 Cloud Shell 中刪除該資料集:
bq rm --recursive --dataset movielens
準備資料集
注意:如果您已完成「開始使用媒體推薦內容」教學課程,且仍保留資料儲存庫 (建議名稱quickstart-media-data-store
),請直接跳到「建立用於媒體搜尋的應用程式」步驟。您將使用 Cloud Shell 匯入 Movielens 資料集,並為 Vertex AI Search for Media 重新建構資料集。
開啟 Cloud Shell
匯入資料集
Movielens 資料集會存放在公開的 Cloud Storage bucket 中,讓您輕鬆匯入。
建立 BigQuery 檢視表
在這個步驟中,您將重新建構 Movielens 資料集,使其符合媒體資料儲存庫的預期格式。
在本指南中,您將根據正面評分 (< 4
) 建立過去 90 天內的假 view-item
使用者事件。
啟用 AI Applications
建立可用於媒體搜尋的應用程式
本節所述程序會引導您建立及部署媒體搜尋應用程式。
匯入資料
接下來,請匯入先前已設定格式的電影和使用者事件資料。
匯入文件
匯入使用者事件
預覽及設定搜尋
部署搜尋小工具
清除所用資源
如要避免系統向您的 Google Cloud 帳戶收取本頁所用資源的費用,請按照下列步驟操作。
您可以重複使用在「開始使用媒體推薦內容」教學課程中,為媒體推薦內容建立的資料儲存庫。 請先嘗試進行該教學課程,再執行這項清除程序。