이 페이지에서는 미디어용 데이터 스토어를 만들고 데이터를 가져오는 방법을 설명합니다.
시작하기 전에
다음을 수행하세요.
미디어 데이터 및 스키마와 관련된 개념을 검토합니다.
자체 스키마를 사용하는 경우 스키마에 미디어 키 속성(
title
,url
,category
등)에 잘 매핑되는 필드가 있는지 확인합니다.미디어 문서를 JSON 스키마에 넣고 데이터를 BigQuery 또는 Cloud Storage에 업로드합니다.
사용자 이벤트 정보를 검토하고 사용자 이벤트를 가져오기 위해 준비합니다. 사용자 이벤트는 미디어 추천에 필요하며 미디어 검색에 권장됩니다.
데이터 소스에 따라 절차 선택
미디어 데이터 스토어를 만들고 문서를 가져오려면 사용할 소스의 섹션으로 이동하세요.
BigQuery에서 가져오기
콘솔
Google Cloud 콘솔을 사용하여 미디어 데이터 스토어를 만들고 BigQuery에서 문서 및 사용자 이벤트를 가져오려면 다음 단계를 따르세요.
Google Cloud 콘솔에서 Agent Builder 페이지로 이동합니다.
데이터 스토어 페이지로 이동합니다.
데이터 저장소 만들기를 클릭합니다.
소스 페이지에서 BigQuery를 선택합니다.
가져오는 데이터 종류로 미디어 - 정형 미디어 데이터가 포함된 BigQuery 테이블을 선택합니다.
BigQuery 경로 필드에서 찾아보기를 클릭하고 수집을 위해 준비한 BigQuery 데이터를 선택한 다음 선택을 클릭합니다. 또는 BigQuery 경로 필드에 위치를 직접 입력해도 됩니다.
데이터가 사전 정의된 Google 스키마에 있는 경우 Google 사전 정의 스키마를 선택하고 계속을 클릭한 다음 11단계로 건너뜁니다.
데이터가 자체 스키마에 있는 경우 커스텀 스키마를 선택하고 계속을 클릭합니다.
감지된 스키마를 검토하고 주요 속성 메뉴를 사용하여 스키마 필드에 속성을 할당합니다.
계속을 클릭합니다.
필요한 키 속성이 매핑될 때까지 계속할 수 없습니다. 이는 주황색 경고 표시
대신 녹색 체크표시 로 표시됩니다.데이터 스토어의 이름을 입력하고 만들기를 클릭합니다.
Cloud Storage에서 가져오기
콘솔
Google Cloud 콘솔을 사용하여 미디어 데이터 스토어를 만들고 Cloud Storage에서 문서를 가져오려면 다음 단계를 따르세요.
Google Cloud 콘솔에서 Agent Builder 페이지로 이동합니다.
데이터 스토어 페이지로 이동합니다.
데이터 저장소 만들기를 클릭합니다.
소스 페이지에서 Cloud Storage를 선택합니다.
가져오는 데이터 종류로 구조화된 미디어 데이터(미디어 파일이 포함된 JSONL)를 선택합니다.
가져올 폴더 또는 파일 선택 섹션에서 폴더 또는 파일을 선택합니다.
찾아보기를 클릭하고 수집을 위해 준비한 데이터를 선택한 다음 선택을 클릭합니다. 또는
gs://
필드에 위치를 직접 입력해도 됩니다.데이터가 사전 정의된 Google 스키마에 있는 경우 Google 사전 정의 스키마를 선택하고 계속을 클릭한 다음 11단계로 건너뜁니다.
데이터가 자체 스키마에 있는 경우 커스텀 스키마를 선택하고 계속을 클릭합니다.
감지된 스키마를 검토하고 주요 속성 메뉴를 사용하여 스키마 필드에 속성을 할당합니다.
계속을 클릭합니다.
필요한 키 속성이 매핑될 때까지 계속할 수 없습니다. 이는 주황색 경고 표시
대신 녹색 체크표시 로 표시됩니다.데이터 스토어의 이름을 입력하고 만들기를 클릭합니다.
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를 사용하여 가져오기를 자동화할 수 있습니다.
새 문서 또는 변경된 문서만 업데이트하거나 전체 데이터 스토어를 가져올 수 있습니다. 이미 데이터 스토어에 있는 문서를 가져오면 다시 추가되지 않습니다. 변경된 모든 문서는 업데이트됩니다.
사용자 이벤트 데이터를 최신 상태로 유지합니다.
특히 사용자 이벤트를 최신 상태로 유지하는 것이 중요합니다. 데이터 요구사항을 충족하기에 충분한 최신 사용자 이벤트가 없으면 추천 앱이 작동을 멈춥니다.
실시간으로 사용자 이벤트 데이터를 가져오는 방법에 관한 자세한 내용은 실시간 사용자 이벤트 기록을 참조하세요.
사용자 이벤트 요구사항 모니터링에 관한 자세한 내용은 미디어 추천의 데이터 품질 확인을 참조하세요.