建立媒體資料儲存庫

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

事前準備

請務必完成以下操作:

根據資料來源選擇程序

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

從 BigQuery 匯入

控制台

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

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

    AI 應用程式

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

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

  4. 在「Source」頁面中,選取「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. 在「Source」頁面中,選取「Cloud Storage」

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

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

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

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

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

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

  11. 按一下「繼續」

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

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

使用 API 匯入文件

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

如需 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 自動執行匯入作業。

    您可以只更新新的或已變更的文件,也可以匯入整個資料儲存庫。如果匯入的文件已存在資料儲存庫中,系統就不會再次新增這些文件。所有已變更的文件都會更新。

  • 隨時更新使用者事件資料。

    請務必定期更新使用者事件。如果沒有足夠的新使用者事件可滿足資料需求,推薦應用程式就會停止運作。

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

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