다음 두 가지 방법으로 Cloud Storage 테이블에서 데이터 스토어를 만들 수 있습니다.
일회성 수집: Cloud Storage 폴더 또는 파일에서 데이터 스토어로 데이터를 가져옵니다. 수동으로 데이터를 새로고침하지 않는 한 데이터 스토어의 데이터가 변경되지 않습니다.
주기적 수집: Cloud Storage 폴더 또는 파일에서 데이터를 가져오고 데이터 스토어가 해당 Cloud Storage 위치의 최신 데이터로 업데이트되는 빈도를 결정하는 동기화 빈도를 설정합니다.
다음 표에서는 Cloud Storage 데이터를 Gemini Enterprise 데이터 스토어로 가져올 수 있는 두 가지 방법을 비교합니다.
일회성 수집 | 주기적 수집 |
---|---|
정식 버전 (GA) | 공개 미리보기 |
데이터를 수동으로 새로고침해야 합니다. | 데이터가 1일, 3일 또는 5일마다 자동으로 업데이트됩니다. 데이터를 수동으로 새로고침할 수 없습니다. |
Gemini Enterprise가 Cloud Storage의 한 폴더 또는 파일에서 단일 데이터 스토어를 만듭니다. | Gemini Enterprise가 데이터 커넥터를 만들고 지정된 파일 또는 폴더의 데이터 스토어 (항목 데이터 스토어라고 함)를 연결합니다. 각 Cloud Storage 데이터 커넥터는 단일 항목 데이터 스토어를 가질 수 있습니다. |
먼저 한 Cloud Storage 위치에서 데이터를 수집한 다음 다른 위치에서 더 많은 데이터를 수집하여 여러 파일, 폴더, 버킷의 데이터를 하나의 데이터 스토어에 결합할 수 있습니다. | 수동 데이터 가져오기는 지원되지 않으므로 항목 데이터 스토어의 데이터는 한 Cloud Storage 파일 또는 폴더에서만 가져올 수 있습니다. |
데이터 소스 액세스 제어가 지원됩니다. 자세한 내용은 데이터 소스 액세스 제어를 참고하세요. | 데이터 소스 액세스 제어는 지원되지 않습니다. 가져온 데이터에 액세스 제어가 포함될 수 있지만 이러한 제어가 적용되지 않습니다. |
Google Cloud 콘솔 또는 API를 사용하여 데이터 스토어를 만들 수 있습니다. | 데이터 커넥터와 해당 항목 데이터 스토어를 만들려면 콘솔을 사용해야 합니다. |
CMEK 준수 | CMEK 준수 |
Cloud Storage에서 한 번 가져오기
Cloud Storage에서 데이터를 수집하려면 다음 단계를 따라 데이터 스토어를 만들고 Google Cloud 콘솔 또는 API를 사용하여 데이터를 수집합니다.
데이터를 가져오기 전에 수집할 데이터 준비를 검토하세요.
콘솔
콘솔을 사용하여 Cloud Storage 버킷에서 데이터를 수집하려면 다음 단계를 수행합니다.
Google Cloud 콘솔에서 Gemini Enterprise 페이지로 이동합니다.
데이터 스토어 페이지로 이동합니다.
데이터 저장소 만들기를 클릭합니다.
데이터 소스 선택 페이지에서 Cloud Storage를 선택합니다.
가져올 폴더 또는 파일 선택 섹션에서 폴더 또는 파일을 선택합니다.
찾아보기를 클릭하고 수집을 위해 준비한 데이터를 선택한 다음 선택을 클릭합니다. 또는
gs://
필드에 위치를 직접 입력해도 됩니다.가져올 데이터의 유형을 선택합니다.
계속을 클릭합니다.
구조화된 데이터를 일회성으로 가져오는 경우:
필드를 키 속성에 매핑합니다.
스키마에서 중요한 필드가 누락된 경우 새 필드 추가를 사용하여 필드를 추가합니다.
자세한 내용은 자동 감지 및 수정 정보를 참조하세요.
계속을 클릭합니다.
데이터 스토어의 리전을 선택합니다.
데이터 스토어 이름을 입력합니다.
선택사항: 구조화되지 않은 문서를 선택한 경우 문서의 파싱 및 청크 처리 옵션을 선택할 수 있습니다. 파서를 비교하려면 문서 파싱을 참고하세요. 청크 처리에 관한 자세한 내용은 RAG용 문서 청크 처리를 참고하세요.
OCR 파서 및 레이아웃 파서를 사용하면 추가 비용이 발생할 수 있습니다.
파서를 선택하려면 문서 처리 옵션을 펼치고 사용할 파서 옵션을 지정합니다.
만들기를 클릭합니다.
수집 상태를 확인하려면 데이터 스토어 페이지로 이동하여 데이터 스토어 이름을 클릭한 후 데이터 페이지에서 세부정보를 확인합니다. 활동 탭의 상태 열이 진행 중에서 가져오기 완료됨으로 변경되면 수집이 완료된 것입니다.
데이터 크기에 따라 수집에 몇 분 또는 몇 시간까지 걸릴 수 있습니다.
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/v1/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores?dataStoreId=DATA_STORE_ID" \ -d '{ "displayName": "DATA_STORE_DISPLAY_NAME", "industryVertical": "GENERIC", "solutionTypes": ["SOLUTION_TYPE_SEARCH"], "contentConfig": "CONTENT_REQUIRED", }'
다음을 바꿉니다.
PROJECT_ID
: 프로젝트의 ID입니다.DATA_STORE_ID
: 만들려는 데이터 스토어의 ID입니다. 이 ID는 소문자, 숫자, 밑줄, 하이픈만 포함할 수 있습니다.DATA_STORE_DISPLAY_NAME
: 만들려는 데이터 스토어의 표시 이름입니다.
선택사항: 문서 파싱을 구성하거나 RAG를 위해 문서 청크 처리를 사용 설정하려면
documentProcessingConfig
객체를 지정하고 데이터 스토어 생성 요청에 포함합니다. 스캔된 PDF를 수집하는 경우 PDF용 OCR 파서를 구성하는 것이 좋습니다. 파싱 또는 청크 처리 옵션을 구성하는 방법은 문서 파싱 및 청크 처리를 참고하세요.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
: 프로젝트의 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.
에 Cloud Storage 버킷에 대한 '스토리지 객체 뷰어' 권한을 부여해야 합니다. 예를 들어 '123' 소스 프로젝트에서 '456' 대상 프로젝트로 Cloud Storage 버킷을 가져오는 경우 '123' 프로젝트의 Cloud Storage 버킷에 대한service-456@gcp-sa-discoveryengine.
권한을 부여합니다.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 문자열을 각 줄에 일관된 형식으로 직접 배치할 수 있으며 Gemini Enterprise가 가져온 각 문서의 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
입니다. Gemini Enterprise가 임시 디렉터리를 자동으로 만들도록 하려면 이 필드를 비워 두는 것이 좋습니다.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
오류가 반환됩니다.id_field
로 지정된 JSON 필드 이름은 문자열 유형이고 1~63자(영문 기준)여야 하고 RFC-1034를 준수해야 합니다. 그렇지 않으면 문서를 가져오지 못합니다.
주기적 동기화로 Cloud Storage에 연결
데이터를 가져오기 전에 수집할 데이터 준비를 검토하세요.
다음 절차에서는 Cloud Storage 위치를 Gemini Enterprise 데이터 커넥터와 연결하는 데이터 커넥터를 만드는 방법과 만들려는 데이터 스토어의 해당 위치에 폴더 또는 파일을 지정하는 방법을 설명합니다. 데이터 커넥터의 하위 요소인 데이터 스토어를 항목 데이터 스토어라고 합니다.
데이터는 주기적으로 항목 데이터 스토어에 동기화됩니다. 매일, 3일마다 또는 5일마다 동기화를 지정할 수 있습니다.
콘솔
Google Cloud 콘솔에서 Gemini Enterprise 페이지로 이동합니다.
데이터 스토어 페이지로 이동합니다.
데이터 저장소 만들기를 클릭합니다.
소스 페이지에서 Cloud Storage를 선택합니다.
가져올 데이터의 유형을 선택합니다.
주기적을 클릭합니다.
동기화 빈도를 선택합니다. Gemini Enterprise 커넥터가 Cloud Storage 위치와 동기화할 빈도를 선택합니다. 빈도는 나중에 변경할 수 있습니다.
가져올 폴더 또는 파일 선택 섹션에서 폴더 또는 파일을 선택합니다.
찾아보기를 클릭하고 수집을 위해 준비한 데이터를 선택한 다음 선택을 클릭합니다. 또는
gs://
필드에 위치를 직접 입력해도 됩니다.계속을 클릭합니다.
데이터 커넥터의 리전을 선택합니다.
데이터 커넥터 이름을 입력합니다.
선택사항: 구조화되지 않은 문서를 선택한 경우 문서의 파싱 및 청크 처리 옵션을 선택할 수 있습니다. 파서를 비교하려면 문서 파싱을 참고하세요. 청크 처리에 관한 자세한 내용은 RAG용 문서 청크 처리를 참고하세요.
OCR 파서 및 레이아웃 파서를 사용하면 추가 비용이 발생할 수 있습니다.
파서를 선택하려면 문서 처리 옵션을 펼치고 사용할 파서 옵션을 지정합니다.
만들기를 클릭합니다.
데이터를 Cloud Storage 위치와 주기적으로 동기화하는 데이터 커넥터를 만들었습니다.
gcs_store
라는 항목 데이터 스토어도 만들었습니다.수집 상태를 확인하려면 데이터 스토어 페이지로 이동하여 데이터 커넥터 이름을 클릭한 후 데이터 페이지에서 세부정보를 확인합니다.
데이터 수집 활동 탭. 데이터 수집 활동 탭의 상태 열이 진행 중에서 성공으로 변경되면 첫 번째 수집이 완료된 것입니다.
데이터 크기에 따라 수집에 몇 분부터 몇 시간까지 걸릴 수 있습니다.
데이터 소스를 설정하고 데이터를 처음 가져온 후에는 설정 중에 선택한 빈도로 해당 소스의 데이터가 동기화됩니다. 데이터 커넥터가 생성된 후 약 1시간 후에 첫 번째 동기화가 이루어집니다. 이후 다음 동기화가 약 24시간, 72시간 또는 120시간 후에 발생합니다.
다음 단계
데이터 스토어를 앱에 연결하려면 앱을 만들고 검색 앱 만들기의 단계를 따라 데이터 스토어를 선택합니다.
앱과 데이터 스토어를 설정한 후 검색 결과가 표시되는 방식을 미리 보려면 검색 결과 미리보기를 참조하세요.