本頁面說明如何建立媒體資料儲存庫,並將資料匯入其中。
事前準備
請務必完成以下操作:
請詳閱媒體資料和結構定義相關的概念:
如果您使用的是自訂結構定義,請確認您的結構定義包含可與自訂結構定義的媒體屬性對應的欄位:
title
、url
、category
等。將媒體文件放入 JSON 結構定義,然後將資料上傳至 BigQuery 或 Cloud Storage。
請參閱「關於媒體使用者事件」,並準備要匯入的使用者事件。所有媒體應用程式都必須使用使用者事件。
根據資料來源選擇程序
如要建立媒體資料儲存庫並匯入文件,請前往您要使用的來源的相關部分:
從 BigQuery 匯入
控制台
如要使用 Google Cloud 控制台建立媒體資料儲存庫,並從 BigQuery 匯入文件和使用者事件,請按照下列步驟操作:
前往 Google Cloud 控制台的「AI Applications」頁面。
前往「資料儲存庫」頁面。
按一下「Create data store」(建立資料儲存庫)。
在「Source」頁面中,選取「BigQuery」。
選取「媒體:包含結構化媒體資料的 BigQuery 資料表」做為要匯入的資料類型。
在「BigQuery 路徑」欄位中,按一下「瀏覽」,選取您已準備好擷取的 BigQuery 資料,然後按一下「選取」。或者,您也可以直接在 BigQuery 路徑欄位中輸入位置。
如果資料位於預先定義的 Google 架構中,請選擇「Google 預先定義的架構」,然後按一下「繼續」,跳至步驟 11。
如果資料採用自訂結構定義,請選擇「自訂結構定義」,然後按一下「繼續」。
查看偵測到的結構定義,並使用「重要屬性」選單,將屬性指派給結構定義欄位。
按一下「繼續」。
您必須先對應必要的鍵屬性,系統才會顯示綠色勾號
而非橘色警告記號 ,您才能繼續操作。輸入資料儲存庫名稱,然後按一下「Create」。
從 Cloud Storage 匯入
控制台
如要使用 Google Cloud 控制台建立媒體資料儲存庫,並從 Cloud Storage 匯入文件,請按照下列步驟操作:
前往 Google Cloud 控制台的「AI Applications」頁面。
前往「資料儲存庫」頁面。
按一下「Create data store」(建立資料儲存庫)。
在「Source」頁面中,選取「Cloud Storage」。
選取「結構化媒體資料 (內含媒體檔案的 JSONL)」做為匯入的資料類型。
在「選取要匯入的資料夾或檔案」部分,選取「資料夾」或「檔案」。
按一下「瀏覽」,然後選擇已準備好擷取的資料,然後按一下「選取」。您也可以直接在
gs://
欄位中輸入位置。如果資料位於預先定義的 Google 架構中,請選擇「Google 預先定義的架構」,然後按一下「繼續」,跳至步驟 11。
如果資料採用自訂結構定義,請選擇「自訂結構定義」,然後按一下「繼續」。
查看偵測到的結構定義,並使用「重要屬性」選單,將屬性指派給結構定義欄位。
按一下「繼續」。
您必須先對應必要的鍵屬性,系統才會顯示綠色勾號
而非橘色警告記號 ,您才能繼續操作。輸入資料儲存庫名稱,然後按一下「Create」。
使用 API 匯入文件
如果您使用 Google 預先定義的結構定義,可以透過 InlineSource
物件指定資料,向 Documents:import
REST 方法提出 POST
要求,藉此匯入文件。
如需 JSON 文件格式的範例,請參閱 JSON 文件格式。
匯入規定
以下是使用 API 匯入媒體文件的要求:
每份文件必須獨立成行。
單次匯入的文件數量上限為 100 份。
程序
如要使用 API 匯入媒體文件,請按照下列步驟操作:
建立資料儲存庫。
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -H "X-Goog-User-Project: PROJECT_ID" \ "https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores?dataStoreId=DATA_STORE_ID" \ -d '{ "displayName": "DATA_STORE_DISPLAY_NAME", "industryVertical": "MEDIA" }'
更改下列內容:
PROJECT_ID
: Google Cloud 專案的 ID。DATA_STORE_ID
:您要建立的 Vertex AI Search 資料儲存庫 ID。這個 ID 只能包含小寫英文字母、數字、底線和連字號。DATA_STORE_DISPLAY_NAME
:您要建立的 Vertex AI Search 資料儲存庫顯示名稱。
建立文件的 JSON 檔案,並將其命名為
./data.json
:{ "inlineSource": { "documents": [ { DOCUMENT_1 }, { DOCUMENT_2 } ] } }
呼叫 POST 方法:
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ --data @./data.json \ "https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/global/dataStores/DATA_STORE_ID/branches/0/documents:import"
更改下列內容:
PROJECT_ID
:專案 ID。DATA_STORE_ID
:資料儲存庫的 ID。
JSON 文件格式
以下範例會以 JSON 格式顯示 Document
項目。
請在單行中提供整份文件。每份文件都應獨立成行。
最低必要欄位:
{ "id": "sample-01", "schemaId": "default_schema", "jsonData": "{\"title\":\"Test document title\",\"categories\":[\"sports > clip\",\"sports > highlight\"],\"uri\":\"http://www.example.com\",\"media_type\":\"sports-game\",\"available_time\":\"2022-08-26T23:00:17Z\"}" }
完整物件:
{ "id": "child-sample-0", "schemaId": "default_schema", "jsonData": "{\"title\":\"Test document title\",\"description\":\"Test document description\",\"language_code\":\"en-US\",\"categories\":[\"sports > clip\",\"sports > highlight\"],\"uri\":\"http://www.example.com\",\"images\":[{\"uri\":\"http://example.com/img1\",\"name\":\"image_1\"}],\"media_type\":\"sports-game\",\"in_languages\":[\"en-US\"],\"country_of_origin\":\"US\",\"content_index\":0,\"persons\":[{\"name\":\"sports person\",\"role\":\"player\",\"rank\":0,\"uri\":\"http://example.com/person\"},],\"organizations \":[{\"name\":\"sports team\",\"role\":\"team\",\"rank\":0,\"uri\":\"http://example.com/team\"},],\"hash_tags\":[\"tag1\"],\"filter_tags\":[\"filter_tag\"],\"production_year\":1900,\"duration\":\"100s\",\"content_rating\":[\"PG-13\"],\"aggregate_ratings\":[{\"rating_source\":\"imdb\",\"rating_score\":4.5,\"rating_count\":1250}],\"available_time\":\"2022-08-26T23:00:17Z\"}" }
監控匯入作業並查看資料
如要查看擷取狀態,請前往「資料儲存庫」頁面,然後點選資料儲存庫名稱,即可在「資料」頁面查看相關詳細資料。
按一下「活動」分頁標籤。
當「活動」分頁的狀態欄從「進行中」變更為「匯入完成」,表示擷取作業已完成。
視資料大小而定,擷取作業可能需要數分鐘或數小時才能完成。
按一下「文件」,即可查看匯入的資料。
匯入使用者事件
如要將使用者事件匯入媒體資料儲存庫,請按照下列步驟操作:
- 請按照「匯入歷來的使用者事件」一文中的操作說明進行。
後續步驟
保持文件資料最新。
建議您每天匯入新資料,以便更新資料儲存庫。安排定期匯入作業,可避免模型品質隨著時間而降低。您可以使用 Google Cloud Scheduler 自動執行匯入作業。
您可以只更新新的或已變更的文件,也可以匯入整個資料儲存庫。如果匯入的文件已存在資料儲存庫中,系統就不會再次新增這些文件。所有已變更的文件都會更新。
隨時更新使用者事件資料。
請務必定期更新使用者事件。如果沒有足夠的新使用者事件可滿足資料需求,推薦應用程式就會停止運作。
如要瞭解如何即時匯入使用者事件資料,請參閱「記錄即時使用者事件」。
如要瞭解如何監控使用者事件規定,請參閱「檢查媒體推薦資料品質」。