本頁說明如何建立媒體資料儲存庫,並將資料匯入其中。
事前準備
請務必完成以下事項:
請先瞭解媒體資料和結構定義相關概念:
如果您使用自己的結構定義,請確認結構定義中的欄位可妥善對應自訂結構定義的媒體屬性:
title
、url
、category
等。將媒體文件放入 JSON 結構定義,然後將資料上傳至 BigQuery 或 Cloud Storage。
請參閱「關於媒體使用者事件」,並準備要匯入的使用者事件。所有媒體應用程式都必須提供使用者事件。
根據資料來源選擇程序
如要建立媒體資料儲存庫及匯入文件,請前往您打算使用的來源部分:
從 BigQuery 匯入
控制台
如要使用 Google Cloud 控制台建立媒體資料儲存庫,並從 BigQuery 匯入文件和使用者事件,請按照下列步驟操作:
前往 Google Cloud 控制台的「AI Applications」頁面。
前往「資料儲存庫」頁面。
按一下「Create data store」(建立資料儲存庫)。
在「來源」頁面中,選取「BigQuery」。
選取「媒體 - 包含結構化媒體資料的 BigQuery 資料表」做為要匯入的資料類型。
在「BigQuery 路徑」欄位中,按一下「瀏覽」,選取您準備要擷取的 BigQuery 資料,然後按一下「選取」。 或者,直接在「BigQuery 路徑」欄位中輸入位置。
如果資料採用預先定義的 Google 架構,請選擇「Google 預先定義的架構」,然後按一下「繼續」,並跳至步驟 11。
如果您的資料採用自訂結構定義,請選擇「自訂結構定義」,然後按一下「繼續」。
查看偵測到的結構定義,並使用「重要屬性」選單,將屬性指派給結構定義欄位。
按一下「繼續」。
您必須先對應必要鍵屬性,才能繼續操作。必要鍵屬性會以綠色勾號
表示,而非橘色警告標記 。輸入資料儲存庫名稱,然後按一下「Create」(建立)。
從 Cloud Storage 匯入
控制台
如要使用 Google Cloud 控制台建立媒體資料存放區,並從 Cloud Storage 匯入文件,請按照下列步驟操作:
前往 Google Cloud 控制台的「AI Applications」頁面。
前往「資料儲存庫」頁面。
按一下「Create data store」(建立資料儲存庫)。
在「來源」頁面中,選取「Cloud Storage」。
選取「結構化媒體資料 (內含媒體檔案的 JSONL)」做為要匯入的資料類型。
在「選取要匯入的資料夾或檔案」部分,選取「資料夾」或「檔案」。
按一下「瀏覽」,然後選擇您準備要擷取的資料,再按一下「選取」。 你也可以直接在「
gs://
」欄位中輸入位置。如果資料採用預先定義的 Google 架構,請選擇「Google 預先定義的架構」,然後按一下「繼續」,並跳至步驟 11。
如果您的資料採用自訂結構定義,請選擇「自訂結構定義」,然後按一下「繼續」。
查看偵測到的結構定義,並使用「重要屬性」選單,將屬性指派給結構定義欄位。
按一下「繼續」。
您必須先對應必要鍵屬性,才能繼續操作。必要鍵屬性會以綠色勾號
表示,而非橘色警告標記 。輸入資料儲存庫名稱,然後按一下「Create」(建立)。
使用 API 匯入文件
如果您使用 Google 預先定義的結構定義,可以透過對 Documents:import
REST 方法發出 POST
要求,並使用 InlineSource
物件指定資料,藉此匯入文件。
如需 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 自動匯入資料。
您可以只更新新文件或有異動的文件,也可以匯入整個資料存放區。如果匯入的文件已存在資料存放區,系統不會再次新增。系統會更新所有已變更的文件。
持續更新使用者事件資料。
請務必保持使用者事件的最新狀態。如果沒有足夠的新使用者事件來滿足資料需求,推薦應用程式就會停止運作。
如要瞭解如何即時匯入使用者事件資料,請參閱「記錄即時使用者事件」。
如要瞭解如何監控使用者事件規定,請參閱「檢查媒體推薦的資料品質」。