建立媒體資料儲存庫

本頁說明如何建立媒體資料儲存庫,並將資料匯入其中。

事前準備

請務必完成以下事項:

根據資料來源選擇程序

如要建立媒體資料儲存庫及匯入文件,請前往您打算使用的來源部分:

從 BigQuery 匯入

控制台

如要使用 Google Cloud 控制台建立媒體資料儲存庫,並從 BigQuery 匯入文件和使用者事件,請按照下列步驟操作:

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

    AI 應用程式

  2. 前往「資料儲存庫」頁面。

  3. 按一下「Create data store」(建立資料儲存庫)

  4. 在「來源」頁面中,選取「BigQuery」

  5. 選取「媒體 - 包含結構化媒體資料的 BigQuery 資料表」做為要匯入的資料類型。

  6. 在「BigQuery 路徑」欄位中,按一下「瀏覽」,選取您準備要擷取的 BigQuery 資料,然後按一下「選取」。 或者,直接在「BigQuery 路徑」欄位中輸入位置。

  7. 如果資料採用預先定義的 Google 架構,請選擇「Google 預先定義的架構」,然後按一下「繼續」,並跳至步驟 11。

  8. 如果您的資料採用自訂結構定義,請選擇「自訂結構定義」,然後按一下「繼續」

  9. 查看偵測到的結構定義,並使用「重要屬性」選單,將屬性指派給結構定義欄位。

  10. 按一下「繼續」

    您必須先對應必要鍵屬性,才能繼續操作。必要鍵屬性會以綠色勾號 表示,而非橘色警告標記

  11. 輸入資料儲存庫名稱,然後按一下「Create」(建立)

從 Cloud Storage 匯入

控制台

如要使用 Google Cloud 控制台建立媒體資料存放區,並從 Cloud Storage 匯入文件,請按照下列步驟操作:

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

    AI 應用程式

  2. 前往「資料儲存庫」頁面。

  3. 按一下「Create data store」(建立資料儲存庫)

  4. 在「來源」頁面中,選取「Cloud Storage」

  5. 選取「結構化媒體資料 (內含媒體檔案的 JSONL)」做為要匯入的資料類型。

  6. 在「選取要匯入的資料夾或檔案」部分,選取「資料夾」或「檔案」

  7. 按一下「瀏覽」,然後選擇您準備要擷取的資料,再按一下「選取」。 你也可以直接在「gs://」欄位中輸入位置。

  8. 如果資料採用預先定義的 Google 架構,請選擇「Google 預先定義的架構」,然後按一下「繼續」,並跳至步驟 11。

  9. 如果您的資料採用自訂結構定義,請選擇「自訂結構定義」,然後按一下「繼續」

  10. 查看偵測到的結構定義,並使用「重要屬性」選單,將屬性指派給結構定義欄位。

  11. 按一下「繼續」

    您必須先對應必要鍵屬性,才能繼續操作。必要鍵屬性會以綠色勾號 表示,而非橘色警告標記

  12. 輸入資料儲存庫名稱,然後按一下「Create」(建立)

使用 API 匯入文件

如果您使用 Google 預先定義的結構定義,可以透過對 Documents:import REST 方法發出 POST 要求,並使用 InlineSource 物件指定資料,藉此匯入文件。

如需 JSON 文件格式範例,請參閱 JSON 文件格式

匯入規定

以下是使用 API 匯入媒體文件的需求條件:

  • 每個文件必須獨立成行。

  • 單次匯入最多可匯入 100 份文件。

程序

如要使用 API 匯入媒體文件,請按照下列步驟操作:

  1. 建立資料儲存庫。

    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 資料儲存庫顯示名稱。
  2. 為文件建立 JSON 檔案,並命名為 ./data.json

    {
    "inlineSource": {
    "documents": [
      { DOCUMENT_1 },
      { DOCUMENT_2 }
    ]
    }
    }
    
  3. 呼叫 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\"}"
}

監控匯入作業並查看資料

  1. 如要檢查擷取狀態,請前往「資料儲存庫」頁面,點選資料儲存庫名稱,即可在相應的「資料」頁面查看詳細資料。

  2. 按一下「活動」分頁標籤。

    「活動」分頁的狀態欄從「處理中」變更為「匯入完成」時,表示資料已完成擷取。

    視資料大小而定,擷取作業可能需要數分鐘至數小時才能完成。

  3. 按一下「文件」即可查看匯入的資料。

匯入使用者事件

如要將使用者事件匯入媒體資料儲存庫,請按照下列步驟操作:

後續步驟

  • 建立媒體推薦應用程式或媒體搜尋應用程式

  • 確保文件資料為最新狀態。

    建議每天匯入最新資料,更新資料商店。 定期匯入可避免模型品質隨時間下降。 您可以使用 Google Cloud Scheduler 自動匯入資料。

    您可以只更新新文件或有異動的文件,也可以匯入整個資料存放區。如果匯入的文件已存在資料存放區,系統不會再次新增。系統會更新所有已變更的文件。

  • 持續更新使用者事件資料。

    請務必保持使用者事件的最新狀態。如果沒有足夠的新使用者事件來滿足資料需求,推薦應用程式就會停止運作。

    如要瞭解如何即時匯入使用者事件資料,請參閱「記錄即時使用者事件」。

    如要瞭解如何監控使用者事件規定,請參閱「檢查媒體推薦的資料品質」。