데이터 스토어를 만들고 일반 추천을 위해 데이터를 수집하려면 사용하려는 소스의 섹션으로 이동합니다.
웹사이트 URL
콘솔
Google Cloud 콘솔을 사용하여 데이터 스토어를 만들고 웹사이트에서 데이터 색인을 생성하려면 다음 단계를 수행합니다.
Google Cloud 콘솔에서 Agent Builder 페이지로 이동합니다.
탐색 메뉴에서 데이터 스토어를 클릭합니다.
새 데이터 스토어를 클릭합니다.
데이터 소스 선택 페이지에서 웹사이트 콘텐츠를 선택합니다.
이 데이터 스토어에 대해 고급 웹 사이트 색인 생성을 사용 설정할지 여부를 선택합니다. 이 옵션은 나중에 사용 중지할 수 없습니다.
고급 웹사이트 색인 생성은 검색 요약, 질문으로 검색, 추출 답변과 같은 추가 기능을 제공합니다. 고급 웹사이트 색인 색성에는 추가 비용이 발생하며 색인을 생성하는 웹사이트에 대한 도메인 소유권을 확인해야 합니다. 자세한 내용은 고급 웹사이트 색인 생성 및 가격 책정을 참조하세요.
포함할 사이트 필드에 색인 생성할 웹사이트의 URL을 지정합니다. 쉼표 구분자 없이 한 줄에 URL을 하나씩 포함합니다.
선택사항: 제외할 사이트 필드에 앱에서 제외하려는 웹사이트를 입력합니다.
계속을 클릭합니다.
데이터 스토어의 이름을 입력합니다.
데이터 스토어의 위치를 선택합니다. 위치를 선택하려면 고급 웹사이트 색인 생성을 사용 설정해야 합니다.
만들기를 클릭합니다. Vertex AI Agent Builder는 데이터 스토어를 만들고 데이터 스토어 페이지에 표시합니다.
데이터 스토어에 대한 자세한 내용을 보려면 이름 열에서 데이터 스토어의 이름을 클릭합니다. 데이터 스토어 페이지가 표시됩니다.
고급 웹사이트 색인 생성을 사용 설정했으면 도메인 소유권을 확인하는 경고가 표시됩니다. 지정한 웹사이트의 페이지 수가 프로젝트에 대한 "프로젝트별 문서 수" 할당량을 초과하여 할당량이 부족한 경우 할당량을 업그레이드하라는 추가 경고가 표시됩니다. 다음 단계에서는 도메인 소유권을 확인하고 할당량을 업그레이드하는 방법을 보여줍니다.
도메인 소유권을 확인하려면 다음 단계를 수행합니다.
- Google Search 콘솔에서 확인을 클릭합니다. Google Search 콘솔 시작 페이지가 표시됩니다.
- 전체 도메인을 확인하는지 아니면 도메인의 일부인 URL 프리픽스를 확인하는지에 따라 화면에 표시되는 안내에 따라 도메인 또는 URL 접두사를 확인합니다. 자세한 내용은 Search Console 도움말에서 사이트 소유권 확인을 참조하세요.
- 도메인 확인 워크플로를 완료했으면 Agent Builder 페이지로 돌아가고 탐색 메뉴에서 데이터 스토어를 클릭합니다.
- 이름 열에서 데이터 스토어의 이름을 클릭합니다. 데이터 스토어 페이지가 표시됩니다.
- 상태 새로고침을 클릭하여 상태 열에서 값을 업데이트합니다. 웹사이트의 상태 열에 색인 생성이 진행 중인 것으로 표시됩니다.
- 모든 색인 생성이 시작될 때까지 도메인 확인이 필요한 모든 웹사이트에 대해 도메인 확인 단계를 반복합니다. URL의 상태 열에 색인 생성됨이 표시되면 해당 URL 또는 URL 패턴에 대해 고급 웹사이트 색인 생성 기능을 사용할 수 있습니다.
할당량을 업그레이드하려면 다음 단계를 수행합니다.
- 할당량 업그레이드를 클릭합니다. 할당량 탭에 선택된 상태로 Discovery Engine API 창이 표시됩니다.
- Google Cloud 문서의 할당량 한도 상향 요청에 나온 안내를 따릅니다. 늘릴 할당량은 문서 수입니다.
- 할당량 한도 상향 요청을 제출했으면 Agent Builder 페이지로 돌아가고 탐색 메뉴에서 데이터 스토어를 클릭합니다.
- 이름 열에서 데이터 스토어의 이름을 클릭합니다. 상태 열에 할당량을 초과한 웹사이트의 색인 생성을 진행 중이라고 표시됩니다. URL의 상태 열에 색인 생성됨이 표시되면 해당 URL 또는 URL 패턴에 대해 고급 웹사이트 색인 생성 기능을 사용할 수 있습니다.
다음 단계
데이터 스토어를 앱에 연결하려면 앱을 만들고 일반 추천 앱 만들기의 단계를 따라 데이터 스토어를 선택합니다.
앱 및 데이터 스토어를 설정한 후 추천이 표시되는 방식을 미리보려면 추천 가져오기를 참조하세요.
BigQuery
BigQuery에서 데이터를 수집하려면 다음 단계를 따라 데이터 스토어를 만들고 Google Cloud 콘솔 또는 API를 사용하여 데이터를 수집합니다.
데이터를 가져오기 전에 수집할 데이터 준비를 검토하세요.
콘솔
Google Cloud 콘솔을 사용하여 BigQuery에서 데이터를 수집하려면 다음 단계를 따르세요.
Google Cloud 콘솔에서 Agent Builder 페이지로 이동합니다.
데이터 스토어 페이지로 이동합니다.
새 데이터 스토어를 클릭합니다.
유형 페이지에서 BigQuery를 선택합니다.
BigQuery 경로 필드에서 찾아보기를 클릭하고 수집을 위해 준비한 테이블을 선택한 다음 선택을 클릭합니다. 또는 BigQuery 경로 필드에 테이블 위치를 직접 입력해도 됩니다.
가져올 데이터의 유형을 선택합니다.
계속을 클릭합니다.
구조화된 데이터를 일회성으로 가져오는 경우:
필드를 키 속성에 매핑합니다.
스키마에서 중요한 필드가 누락된 경우 새 필드 추가를 사용하여 필드를 추가합니다.
자세한 내용은 자동 감지 및 수정 정보를 참조하세요.
계속을 클릭합니다.
데이터 스토어의 리전을 선택합니다.
데이터 스토어의 이름을 입력합니다.
만들기를 클릭합니다.
데이터 스토어가 생성되었는지 확인하려면 데이터 스토어 페이지로 이동하고 데이터 스토어 이름을 클릭하여 데이터 페이지에서 세부정보를 확인합니다.
수집 상태를 확인하려면 데이터 스토어 페이지로 이동하여 데이터 스토어 이름을 클릭한 후 데이터 페이지에서 세부정보를 확인합니다. 활동 탭의 상태 열이 진행 중에서 가져오기 완료됨으로 변경되면 수집이 완료된 것입니다.
데이터 크기에 따라 수집에 몇 분 또는 몇 시간까지 걸릴 수 있습니다.
REST
명령줄을 사용하여 데이터 스토어를 만들고 BigQuery에서 데이터를 가져오려면 다음 단계를 수행합니다.
데이터 스토어를 만듭니다.
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/v1alpha/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores?dataStoreId=DATA_STORE_ID" \ -d '{ "displayName": "DATA_STORE_DISPLAY_NAME", "industryVertical": "GENERIC", "solutionTypes": ["SOLUTION_TYPE_RECOMMENDATION"] }'
다음을 바꿉니다.
PROJECT_ID
: Google Cloud 프로젝트의 ID입니다.DATA_STORE_ID
: 만들려는 추천 데이터 스토어의 ID입니다. 이 ID는 소문자, 숫자, 밑줄, 하이픈만 포함할 수 있습니다.DATA_STORE_DISPLAY_NAME
: 만들려는 추천 데이터 스토어의 표시 이름입니다.
선택사항: 자체 스키마로 구조화된 데이터를 업로드하는 경우 스키마를 제공할 수 있습니다. 스키마를 제공하면 일반적으로 더 나은 결과를 얻을 수 있습니다. 그렇지 않으면 스키마가 자동으로 감지됩니다. 자세한 내용은 스키마 제공 또는 자동 감지를 참조하세요.
curl -X PATCH \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATA_STORE_ID/schemas/default_schema" \ -d '{ "structSchema": JSON_SCHEMA_OBJECT }'
다음을 바꿉니다.
PROJECT_ID
: Google Cloud 프로젝트의 ID입니다.DATA_STORE_ID
: 추천 데이터 스토어의 ID입니다.JSON_SCHEMA_OBJECT
: JSON 객체로 된 JSON 스키마입니다. 예를 들면 다음과 같습니다.{ "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "title": { "type": "string", "keyPropertyMapping": "title" }, "categories": { "type": "array", "items": { "type": "string", "keyPropertyMapping": "category" } }, "uri": { "type": "string", "keyPropertyMapping": "uri" } } }
BigQuery에서 데이터를 가져옵니다.
스키마를 정의한 경우 데이터가 해당 스키마를 준수하는지 확인합니다.
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATA_STORE_ID/branches/0/documents:import" \ -d '{ "bigquerySource": { "projectId": "PROJECT_ID", "datasetId":"DATASET_ID", "tableId": "TABLE_ID", "dataSchema": "DATA_SCHEMA", }, "reconciliationMode": "RECONCILIATION_MODE", "autoGenerateIds": "AUTO_GENERATE_IDS", "idField": "ID_FIELD", "errorConfig": { "gcsPrefix": "ERROR_DIRECTORY" } }'
다음을 바꿉니다.
PROJECT_ID
: Google Cloud 프로젝트의 ID입니다.DATA_STORE_ID
: 추천 데이터 스토어의 ID입니다.DATASET_ID
: BigQuery 데이터 세트의 ID입니다.TABLE_ID
: BigQuery 테이블의 ID입니다.- BigQuery 테이블이
PROJECT_ID
에 없으면 서비스 계정service-<project number>@gcp-sa-discoveryengine.iam.gserviceaccount.com
에 BigQuery 테이블에 대한 "BigQuery 데이터 뷰어" 권한을 부여해야 합니다. 예를 들어 '123' 소스 프로젝트에서 '456' 대상 프로젝트로 BigQuery 테이블을 가져오는 경우 '123' 프로젝트의 BigQuery 테이블에 대한service-456@gcp-sa-discoveryengine.iam.gserviceaccount.com
권한을 부여합니다.
- BigQuery 테이블이
DATA_SCHEMA
: 선택사항. 값은document
및custom
입니다. 기본값은document
입니다.document
: 사용하는 BigQuery 테이블이 수집을 위한 데이터 준비에 제공된 기본 BigQuery 스키마를 준수해야 합니다. 각 문서의 ID를 정의할 수 있으며, 모든 데이터가 jsonData 문자열에 포함되어야 합니다.custom
: 모든 BigQuery 테이블 스키마가 허용되고 추천에 따라 가져온 각 문서의 ID가 자동으로 생성됩니다.
ERROR_DIRECTORY
: 선택사항. 가져오기에 대한 오류 정보를 볼 수 있는 Cloud Storage 디렉터리입니다. 예를 들면gs://<your-gcs-bucket>/directory/import_errors
입니다. 추천이 임시 디렉터리를 자동으로 만들도록 하려면 이 필드를 비워 두는 것이 좋습니다.RECONCILIATION_MODE
: 선택사항. 값은FULL
및INCREMENTAL
입니다. 기본값은INCREMENTAL
입니다.INCREMENTAL
을 지정하면 BigQuery의 데이터가 데이터 스토어에 점진적으로 새로고침됩니다. 이 경우 새 문서를 추가하고 기존 문서를 동일한 ID의 업데이트된 문서로 대체하는 삽입/업데이트(upsert) 작업이 실행됩니다.FULL
을 지정하면 데이터 스토어에서 문서의 전체 재배치가 이루어집니다. 즉, 새 문서와 업데이트된 문서는 데이터 스토어에 추가되고 BigQuery에 없는 문서는 데이터 스토어에서 삭제됩니다.FULL
모드는 더 이상 필요하지 않은 문서를 자동으로 삭제하려는 경우에 유용합니다.AUTO_GENERATE_IDS
: 선택사항. 문서 ID를 자동으로 생성할지 지정합니다.true
로 설정하면 페이로드의 해시에 따라 문서 ID가 생성됩니다. 생성된 문서 ID는 여러 가져오기에서 일관되지 않을 수 있습니다. 여러 가져오기에서 ID를 자동으로 생성하는 경우 문서 ID의 일관성을 유지하기 위해reconciliationMode
를FULL
로 설정하는 것이 좋습니다.bigquerySource.dataSchema
가custom
으로 설정된 경우에만autoGenerateIds
를 지정합니다. 그렇지 않으면INVALID_ARGUMENT
오류가 반환됩니다.autoGenerateIds
를 지정하지 않거나false
로 설정한 경우idField
를 지정해야 합니다. 그렇지 않으면 문서를 가져오지 못합니다.ID_FIELD
: 선택사항. 문서 ID인 필드를 지정합니다. BigQuery 소스 파일의 경우idField
는 문서 ID가 포함된 BigQuery 테이블의 열 이름을 나타냅니다.(1)
bigquerySource.dataSchema
가custom
으로 설정되고 (2)auto_generate_ids
가false
로 설정되었거나 지정되지 않은 경우에만idField
를 지정합니다. 그렇지 않으면INVALID_ARGUMENT
오류가 반환됩니다.BigQuery 열 이름의 값은 문자열 유형이고 1~63자(영문 기준)여야 하며 RFC-1034를 준수해야 합니다. 그렇지 않으면 문서를 가져오지 못합니다.
C#
자세한 내용은 Vertex AI Agent Builder C# API 참고 문서를 확인하세요.
Vertex AI Agent Builder에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
이 샘플은 BigQuery 또는 Cloud Storage의 구조화되지 않은 데이터를 기존 데이터 스토어에 수집합니다.
Go
자세한 내용은 Vertex AI Agent Builder Go API 참고 문서를 확인하세요.
Vertex AI Agent Builder에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
이 샘플은 BigQuery 또는 Cloud Storage의 구조화되지 않은 데이터를 기존 데이터 스토어에 수집합니다.
Java
자세한 내용은 Vertex AI Agent Builder Java API 참고 문서를 확인하세요.
Vertex AI Agent Builder에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
이 샘플은 BigQuery 또는 Cloud Storage의 구조화되지 않은 데이터를 기존 데이터 스토어에 수집합니다.
Node.js
자세한 내용은 Vertex AI Agent Builder Node.js API 참고 문서를 확인하세요.
Vertex AI Agent Builder에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
이 샘플은 BigQuery 또는 Cloud Storage의 구조화되지 않은 데이터를 기존 데이터 스토어에 수집합니다.
Python
자세한 내용은 Vertex AI Agent Builder Python API 참고 문서를 확인하세요.
Vertex AI Agent Builder에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
이 샘플은 BigQuery 또는 Cloud Storage의 구조화되지 않은 데이터를 기존 데이터 스토어에 수집합니다.
Ruby
자세한 내용은 Vertex AI Agent Builder Ruby API 참고 문서를 확인하세요.
Vertex AI Agent Builder에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
이 샘플은 BigQuery 또는 Cloud Storage의 구조화되지 않은 데이터를 기존 데이터 스토어에 수집합니다.
다음 단계
데이터 스토어를 앱에 연결하려면 앱을 만들고 일반 추천 앱 만들기의 단계를 따라 데이터 스토어를 선택합니다.
앱 및 데이터 스토어를 설정한 후 추천이 표시되는 방식을 미리보려면 추천 가져오기를 참조하세요.
Cloud Storage
Cloud Storage에서 데이터를 수집하려면 다음 단계를 따라 데이터 스토어를 만들고 Google Cloud 콘솔 또는 API를 사용하여 데이터를 수집합니다.
데이터를 가져오기 전에 수집할 데이터 준비를 검토하세요.
콘솔
콘솔을 사용하여 Cloud Storage 버킷에서 데이터를 수집하려면 다음 단계를 수행합니다.
Google Cloud 콘솔에서 Agent Builder 페이지로 이동합니다.
데이터 스토어 페이지로 이동합니다.
새 데이터 스토어를 클릭합니다.
유형 페이지에서 Cloud Storage를 선택합니다.
가져올 폴더 또는 파일 선택 섹션에서 폴더 또는 파일을 선택합니다.
찾아보기를 클릭하고 수집을 위해 준비한 데이터를 선택한 다음 선택을 클릭합니다. 또는
gs://
필드에 위치를 직접 입력해도 됩니다.가져올 데이터의 유형을 선택합니다.
계속을 클릭합니다.
구조화된 데이터를 일회성으로 가져오는 경우:
필드를 키 속성에 매핑합니다.
스키마에서 중요한 필드가 누락된 경우 새 필드 추가를 사용하여 필드를 추가합니다.
자세한 내용은 자동 감지 및 수정 정보를 참조하세요.
계속을 클릭합니다.
데이터 스토어의 리전을 선택합니다.
데이터 스토어의 이름을 입력합니다.
만들기를 클릭합니다.
데이터 스토어가 생성되었는지 확인하려면 데이터 스토어 페이지로 이동하고 데이터 스토어 이름을 클릭하여 데이터 페이지에서 세부정보를 확인합니다.
수집 상태를 확인하려면 데이터 스토어 페이지로 이동하여 데이터 스토어 이름을 클릭한 후 데이터 페이지에서 세부정보를 확인합니다. 활동 탭의 상태 열이 진행 중에서 가져오기 완료됨으로 변경되면 수집이 완료된 것입니다.
데이터 크기에 따라 수집에 몇 분 또는 몇 시간까지 걸릴 수 있습니다.
REST
명령줄을 사용하여 데이터 스토어를 만들고 Cloud Storage에서 데이터를 수집하려면 다음 단계를 수합니다.
데이터 스토어를 만듭니다.
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/v1alpha/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores?dataStoreId=DATA_STORE_ID" \ -d '{ "displayName": "DATA_STORE_DISPLAY_NAME", "industryVertical": "GENERIC", "solutionTypes": ["SOLUTION_TYPE_RECOMMENDATION"], "contentConfig": "CONTENT_REQUIRED" }'
다음을 바꿉니다.
PROJECT_ID
: Google Cloud 프로젝트의 ID입니다.DATA_STORE_ID
: 만들려는 추천 데이터 스토어의 ID입니다. 이 ID는 소문자, 숫자, 밑줄, 하이픈만 포함할 수 있습니다.DATA_STORE_DISPLAY_NAME
: 만들려는 추천 데이터 스토어의 표시 이름입니다.
Cloud Storage에서 데이터를 가져옵니다.
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATA_STORE_ID/branches/0/documents:import" \ -d '{ "gcsSource": { "inputUris": ["INPUT_FILE_PATTERN_1", "INPUT_FILE_PATTERN_2"], "dataSchema": "DATA_SCHEMA", }, "reconciliationMode": "RECONCILIATION_MODE", "autoGenerateIds": "AUTO_GENERATE_IDS", "idField": "ID_FIELD", "errorConfig": { "gcsPrefix": "ERROR_DIRECTORY" } }'
다음을 바꿉니다.
PROJECT_ID
: Google Cloud 프로젝트의 ID입니다.DATA_STORE_ID
: 추천 데이터 스토어의 ID입니다.INPUT_FILE_PATTERN
: 문서가 포함된 Cloud Storage의 파일 패턴입니다.구조화된 데이터의 경우 또는 비정형 문서에 대한 메타데이터가 포함된 구조화되지 않은 데이터의 경우 입력 파일 패턴의 예시는
gs://<your-gcs-bucket>/directory/object.json
이거나,gs://<your-gcs-bucket>/directory/*.json
과 같이 하나 이상의 파일과 일치하는 패턴입니다.비정형 문서의 경우 예시는
gs://<your-gcs-bucket>/directory/*.pdf
입니다. 패턴과 일치하는 각 파일은 문서가 됩니다.<your-gcs-bucket>
이PROJECT_ID
에 있지 않으면 서비스 계정service-<project number>@gcp-sa-discoveryengine.iam.gserviceaccount.com
에 Cloud Storage 버킷에 대한 '스토리지 객체 뷰어' 권한을 부여해야 합니다. 예를 들어 '123' 소스 프로젝트에서 '456' 대상 프로젝트로 Cloud Storage 버킷을 가져오는 경우 '123' 프로젝트의 Cloud Storage 버킷에 대한service-456@gcp-sa-discoveryengine.iam.gserviceaccount.com
권한을 부여합니다.DATA_SCHEMA
: 선택사항. 값은document
,custom
,csv
,content
입니다. 기본값은document
입니다.document
: 비정형 문서의 메타데이터와 함께 구조화되지 않은 데이터를 업로드합니다. 파일의 각 줄은 다음 형식 중 하나를 따라야 합니다. 각 문서의 ID를 정의할 수 있습니다.{ "id": "<your-id>", "jsonData": "<JSON string>", "content": { "mimeType": "<application/pdf or text/html>", "uri": "gs://<your-gcs-bucket>/directory/filename.pdf" } }
{ "id": "<your-id>", "structData": <JSON object>, "content": { "mimeType": "<application/pdf or text/html>", "uri": "gs://<your-gcs-bucket>/directory/filename.pdf" } }
custom
: 정형 문서의 JSON을 업로드합니다. 데이터는 스키마에 따라 구성됩니다. 스키마를 지정할 수 있으며, 그렇지 않으면 자동으로 감지됩니다. 문서의 JSON 문자열을 각 줄에 일관된 형식으로 직접 배치할 수 있으며 추천이 가져온 각 문서의 ID를 자동으로 생성합니다.content
: 구조화되지 않은 문서(PDF, HTML, DOC, TXT, PPTX)를 업로드합니다. 각 문서의 ID는 16진수 문자열로 인코딩된 SHA256(GCS_URI)의 처음 128비트로 자동으로 생성됩니다. 일치하는 파일이 파일 한도인 10만 개를 초과하지 않는 한 입력 파일 패턴을 여러 개 지정할 수 있습니다.csv
: 각 헤더가 문서 필드에 매핑되도록 헤더 행을 CSV 파일에 포함합니다.inputUris
필드를 사용하여 CSV 파일의 경로를 지정합니다.
ERROR_DIRECTORY
: 선택사항. 가져오기에 대한 오류 정보를 볼 수 있는 Cloud Storage 디렉터리입니다. 예를 들면gs://<your-gcs-bucket>/directory/import_errors
입니다. 추천이 임시 디렉터리를 자동으로 만들도록 하려면 이 필드를 비워 두는 것이 좋습니다.RECONCILIATION_MODE
: 선택사항. 값은FULL
및INCREMENTAL
입니다. 기본값은INCREMENTAL
입니다.INCREMENTAL
을 지정하면 Cloud Storage의 데이터가 데이터 스토어에 점진적으로 새로고침됩니다. 이 경우 새 문서를 추가하고 기존 문서를 동일한 ID의 업데이트된 문서로 대체하는 삽입/업데이트(upsert) 작업이 실행됩니다.FULL
을 지정하면 데이터 스토어에서 문서의 전체 재배치가 이루어집니다. 즉, 새 문서와 업데이트된 문서는 데이터 스토어에 추가되고 Cloud Storage에 없는 문서는 데이터 스토어에서 삭제됩니다.FULL
모드는 더 이상 필요하지 않은 문서를 자동으로 삭제하려는 경우에 유용합니다.AUTO_GENERATE_IDS
: 선택사항. 문서 ID를 자동으로 생성할지 지정합니다.true
로 설정하면 페이로드의 해시에 따라 문서 ID가 생성됩니다. 생성된 문서 ID는 여러 가져오기에서 일관되지 않을 수 있습니다. 여러 가져오기에서 ID를 자동으로 생성하는 경우 문서 ID의 일관성을 유지하기 위해reconciliationMode
를FULL
로 설정하는 것이 좋습니다.gcsSource.dataSchema
가custom
또는csv
로 설정된 경우에만autoGenerateIds
를 지정합니다. 그렇지 않으면INVALID_ARGUMENT
오류가 반환됩니다.autoGenerateIds
를 지정하지 않거나false
로 설정한 경우idField
를 지정해야 합니다. 그렇지 않으면 문서를 가져오지 못합니다.ID_FIELD
: 선택사항. 문서 ID인 필드를 지정합니다. Cloud Storage 소스 문서의 경우idField
는 문서 ID인 JSON 필드의 이름을 지정합니다. 예를 들어{"my_id":"some_uuid"}
가 문서 중 하나에서 문서 ID 필드이면"idField":"my_id"
를 지정합니다. 그러면 이름이"my_id"
인 모든 JSON 필드가 문서 ID로 식별됩니다.이 필드는 (1)
gcsSource.dataSchema
가custom
또는csv
로 설정되었고 (2)auto_generate_ids
가false
로 설정되었거나 지정되지 않은 경우에만 지정합니다. 그렇지 않으면INVALID_ARGUMENT
오류가 반환됩니다.Cloud Storage JSON 필드의 값은 문자열 유형이고 1~63자(영문 기준)여야 하며 RFC-1034를 준수해야 합니다. 그렇지 않으면 문서를 가져오지 못합니다.
id_field
로 지정된 JSON 필드 이름은 문자열 유형이고 1~63자(영문 기준)여야 하고 RFC-1034를 준수해야 합니다. 그렇지 않으면 문서를 가져오지 못합니다.
C#
자세한 내용은 Vertex AI Agent Builder C# API 참고 문서를 확인하세요.
Vertex AI Agent Builder에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
이 샘플은 BigQuery 또는 Cloud Storage의 구조화되지 않은 데이터를 기존 데이터 스토어에 수집합니다.
Go
자세한 내용은 Vertex AI Agent Builder Go API 참고 문서를 확인하세요.
Vertex AI Agent Builder에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
이 샘플은 BigQuery 또는 Cloud Storage의 구조화되지 않은 데이터를 기존 데이터 스토어에 수집합니다.
Java
자세한 내용은 Vertex AI Agent Builder Java API 참고 문서를 확인하세요.
Vertex AI Agent Builder에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
이 샘플은 BigQuery 또는 Cloud Storage의 구조화되지 않은 데이터를 기존 데이터 스토어에 수집합니다.
Node.js
자세한 내용은 Vertex AI Agent Builder Node.js API 참고 문서를 확인하세요.
Vertex AI Agent Builder에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
이 샘플은 BigQuery 또는 Cloud Storage의 구조화되지 않은 데이터를 기존 데이터 스토어에 수집합니다.
Python
자세한 내용은 Vertex AI Agent Builder Python API 참고 문서를 확인하세요.
Vertex AI Agent Builder에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
이 샘플은 BigQuery 또는 Cloud Storage의 구조화되지 않은 데이터를 기존 데이터 스토어에 수집합니다.
Ruby
자세한 내용은 Vertex AI Agent Builder Ruby API 참고 문서를 확인하세요.
Vertex AI Agent Builder에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
이 샘플은 BigQuery 또는 Cloud Storage의 구조화되지 않은 데이터를 기존 데이터 스토어에 수집합니다.
다음 단계
데이터 스토어를 앱에 연결하려면 앱을 만들고 일반 추천 앱 만들기의 단계를 따라 데이터 스토어를 선택합니다.
앱 및 데이터 스토어를 설정한 후 추천이 표시되는 방식을 미리보려면 추천 가져오기를 참조하세요.
API를 사용하여 구조화된 JSON 데이터 업로드
API를 사용하여 JSON 문서 또는 객체를 직접 업로드하려면 다음 단계를 수행합니다.
데이터를 가져오기 전에 수집할 데이터 준비를 수행합니다.
REST
명령줄을 사용하여 데이터 스토어를 만들고 구조화된 JSON 데이터를 가져오려면 다음 단계를 수행합니다.
데이터 스토어를 만듭니다.
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/v1alpha/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores?dataStoreId=DATA_STORE_ID" \ -d '{ "displayName": "DATA_STORE_DISPLAY_NAME", "industryVertical": "GENERIC", "solutionTypes": ["SOLUTION_TYPE_RECOMMENDATION"] }'
다음을 바꿉니다.
PROJECT_ID
: Google Cloud 프로젝트의 ID입니다.DATA_STORE_ID
: 만들려는 추천 데이터 스토어의 ID입니다. 이 ID는 소문자, 숫자, 밑줄, 하이픈만 포함할 수 있습니다.DATA_STORE_DISPLAY_NAME
: 만들려는 추천 데이터 스토어의 표시 이름입니다.
선택사항: 자체 스키마를 제공합니다. 스키마를 제공하면 일반적으로 더 나은 결과를 얻을 수 있습니다. 자세한 내용은 스키마 제공 또는 자동 감지를 참조하세요.
curl -X PATCH \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://discoveryengine.googleapis.com/v1beta/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATA_STORE_ID/schemas/default_schema" \ -d '{ "structSchema": JSON_SCHEMA_OBJECT }'
다음을 바꿉니다.
PROJECT_ID
: Google Cloud 프로젝트의 ID입니다.DATA_STORE_ID
: 추천 데이터 스토어의 ID입니다.JSON_SCHEMA_OBJECT
: JSON 객체로 된 JSON 스키마입니다. 예를 들면 다음과 같습니다.{ "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "title": { "type": "string", "keyPropertyMapping": "title" }, "categories": { "type": "array", "items": { "type": "string", "keyPropertyMapping": "category" } }, "uri": { "type": "string", "keyPropertyMapping": "uri" } } }
정의된 스키마를 준수하는 구조화된 데이터를 가져옵니다.
데이터를 업로드할 때 사용할 수 있는 몇 가지 방법이 있습니다.
JSON 문서를 업로드합니다.
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://discoveryengine.googleapis.com/v1beta/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATA_STORE_ID/branches/0/documents?documentId=DOCUMENT_ID" \ -d '{ "jsonData": "JSON_DOCUMENT_STRING" }'
JSON_DOCUMENT_STRING
을 단일 문자열 형식으로 지정된 JSON 문서로 바꿉니다. 이전 단계에서 제공한 JSON 스키마를 준수해야 합니다. 예를 들면 다음과 같습니다.```none { \"title\": \"test title\", \"categories\": [\"cat_1\", \"cat_2\"], \"uri\": \"test uri\"} ```
JSON 객체를 업로드합니다.
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://discoveryengine.googleapis.com/v1beta/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATA_STORE_ID/branches/0/documents?documentId=DOCUMENT_ID" \ -d '{ "structData": JSON_DOCUMENT_OBJECT }'
JSON_DOCUMENT_OBJECT
를 JSON 객체 형식으로 지정된 JSON 문서로 바꿉니다. 이전 단계에서 제공한 JSON 스키마를 준수해야 합니다. 예를 들면 다음과 같습니다.```json { "title": "test title", "categories": [ "cat_1", "cat_2" ], "uri": "test uri" } ```
JSON 문서로 업데이트합니다.
curl -X PATCH \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://discoveryengine.googleapis.com/v1beta/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATA_STORE_ID/branches/0/documents/DOCUMENT_ID" \ -d '{ "jsonData": "JSON_DOCUMENT_STRING" }'
JSON 객체로 업데이트합니다.
curl -X PATCH \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://discoveryengine.googleapis.com/v1beta/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATA_STORE_ID/branches/0/documents/DOCUMENT_ID" \ -d '{ "structData": JSON_DOCUMENT_OBJECT }'
다음 단계
데이터 스토어를 앱에 연결하려면 앱을 만들고 일반 추천 앱 만들기의 단계를 따라 데이터 스토어를 선택합니다.
앱 및 데이터 스토어를 설정한 후 추천이 표시되는 방식을 미리보려면 추천 가져오기를 참조하세요.
Terraform을 사용하여 데이터 스토어 만들기
Terraform을 사용하여 빈 데이터 스토어를 만들 수 있습니다. 빈 데이터 스토어를 만든 후 Google Cloud 콘솔 또는 API 명령어를 사용하여 데이터 스토어에 데이터를 수집할 수 있습니다.
Terraform 구성을 적용하거나 삭제하는 방법은 기본 Terraform 명령어를 참조하세요.
Terraform을 사용하여 빈 데이터 스토어를 만들려면
google_discovery_engine_data_store
를 참조하세요.