수집을 위한 데이터 준비

데이터를 준비하는 방법은 가져오는 데이터의 종류와 가져오는 방법에 따라 달라집니다. 가져올 데이터 종류부터 시작합니다.

여러 데이터 스토어를 단일 일반 검색 앱에 연결할 수 있는 혼합 검색에 대한 자세한 내용은 여러 데이터 스토어 연결 정보를 참조하세요.

웹사이트 데이터

웹사이트 데이터의 데이터 스토어를 만들 때 Google에서 검색 또는 추천을 위해 크롤링하고 색인을 생성해야 하는 웹페이지의 URL을 제공합니다.

웹사이트 데이터에 색인을 생성하기 전에 다음을 수행합니다.

  • 색인 생성에 포함하고 제외할 URL 패턴을 결정합니다.

    • 동적 URL 패턴을 제외합니다. 동적 URL은 요청에 따라 제공 시 변경되는 URL입니다.

      예를 들면 검색 결과를 제공하는 웹페이지의 URL 패턴입니다(예: www.example.com/search/*). 사용자가 Nobel prize 문구를 검색한다고 가정해 보겠습니다. 동적 검색 URL은 고유한 URL(www.example.com/search?q=nobel%20prize/UNIQUE_STRING)일 수 있습니다. URL 패턴 www.example.com/search/*를 제외하지 않으면 이 패턴을 따르는 모든 고유한 동적 검색 URL에 색인이 생성됩니다. 이로 인해 색인이 많아져 검색 품질이 저하됩니다.

    • 표준 URL 패턴을 사용하여 중복 URL 제거 이렇게 하면 웹사이트를 크롤링할 때 Google 검색에 단일 표준 URL이 제공되고 모호성이 제거됩니다. 표준화의 예시와 자세한 내용은 URL 표준화의 정의rel="canonical" 및 다른 메서드로 표준 URL을 지정하는 방법을 참조하세요.

  • 색인이 생성되어야 하는 같은 도메인이나 다른 도메인의 URL 패턴을 포함하고 색인이 생성되어서는 안 되는 패턴을 제외할 수 있습니다. 포함하고 제외할 수 있는 URL 패턴 수는 다음과 같이 다릅니다.

    색인 생성 유형 포함된 사이트 제외된 사이트
    기본 웹사이트 검색 URL 패턴 최대 50개 URL 패턴 최대 50개
    고급 웹사이트 색인 생성 URL 패턴 최대 500개 URL 패턴 최대 500개

  • 제공하려는 웹페이지에서 robots.txt를 사용하여 색인 생성을 차단하고 있지 않은지 확인합니다. 자세한 내용은 robots.txt 소개를 참조하세요.

  • 고급 웹사이트 색인 생성을 사용하려면 데이터 스토어의 URL 패턴에 대한 도메인을 확인할 수 있어야 합니다.

  • 고급 웹사이트 색인 생성에 구조화된 데이터 사용의 설명대로 meta 태그 및 PageMap 형식의 구조화된 데이터를 데이터 스토어 스키마에 추가하여 색인을 보강합니다.

구조화되지 않은 데이터

Vertex AI Search는 HTML, 텍스트가 삽입된 PDF, TXT 형식의 문서를 검색할 수 있습니다. 미리보기에서 PPTX 및 DOCX 형식을 사용할 수 있습니다.

Cloud Storage 버킷에서 문서를 가져옵니다. Google Cloud 콘솔, ImportDocuments 메서드 또는 CRUD 메서드를 통한 스트리밍 수집을 사용하여 가져올 수 있습니다. API 참조 정보는 DocumentServicedocuments를 참조하세요.

다음 표에는 다양한 구성으로 각 파일 형식의 파일 크기 제한이 나와 있습니다(자세한 내용은 문서 파싱 및 청크 처리를 참고하세요). 한 번에 파일을 최대 100,000개까지 가져올 수 있습니다.

파일 형식 기본 가져오기 레이아웃 인식 문서 청크 처리를 사용하여 가져오기 레이아웃 파서로 가져오기
HTML, TXT, JSON, XHTML, XML과 같은 텍스트 기반 파일 < 2.5MB < 10MB < 10MB
PPTX, DOCX, XLSX < 200MB < 200MB < 200MB
PDF < 200MB < 200MB < 40MB

구조화되지 않은 데이터에 임베딩을 포함하려면 커스텀 임베딩 사용을 참조하세요.

검색할 수 없는 PDF(스캔된 PDF 또는 인포그래픽과 같이 이미지 내에 텍스트가 있는 PDF)가 있는 경우 데이터 스토어를 만들 때 광학 문자 인식(OCR) 처리를 사용 설정하는 것이 좋습니다. 이렇게 하면 Vertex AI Search에서 텍스트 블록 및 표와 같은 요소를 추출할 수 있습니다. 대부분 머신에서 읽을 수 있는 텍스트로 구성되어 있고 테이블이 많은 검색 가능한 PDF 파일이 있는 경우 감지 및 파싱을 향상시키 위해 머신에서 읽을 수 있는 텍스트 옵션이 사용 설정된 OCR 처리를 사용 설정하는 것이 좋습니다. 자세한 내용은 문서 파싱 및 청크 처리를 참조하세요.

검색 증강 생성(RAG)에 Vertex AI Search를 사용하려면 데이터 스토어를 만들 때 문서 청크 처리를 사용 설정합니다. 자세한 내용은 문서 파싱 및 청크 처리를 참조하세요.

다음 소스에서 구조화되지 않은 데이터를 가져올 수 있습니다.

Cloud Storage

메타데이터 유무와 관계없이 Cloud Storage에서 데이터를 가져올 수 있습니다.

데이터 가져오기는 재귀적이지 않습니다. 즉, 지정된 버킷이나 폴더 내에 폴더가 있으면 해당 폴더 내 파일을 가져오지 않습니다.

Cloud Storage에서 메타데이터가 없는 문서를 가져오려면 문서를 Cloud Storage 버킷에 직접 저장합니다. 문서 ID는 메타데이터의 한 예시입니다.

테스트를 위해 PDF가 포함된 다음과 같은 공개적으로 사용 가능한 Cloud Storage 폴더를 사용할 수 있습니다.

  • gs://cloud-samples-data/gen-app-builder/search/alphabet-investor-pdfs
  • gs://cloud-samples-data/gen-app-builder/search/CUAD_v1
  • gs://cloud-samples-data/gen-app-builder/search/kaiser-health-surveys
  • gs://cloud-samples-data/gen-app-builder/search/stanford-cs-224

Cloud Storage에서 메타데이터가 있는 데이터를 가져오려면 메타데이터가 포함된 JSON 파일을 가져오기 중에 위치를 제공하는 Cloud Storage 버킷에 저장합니다.

비정형 문서는 메타데이터와 동일한 Cloud Storage 버킷에 있거나 다른 버킷에 있을 수 있습니다.

메타데이터 파일은 JSON Lines 또는 NDJSON 파일여야 합니다. 문서 ID는 메타데이터의 한 예시입니다. 메타데이터 파일의 각 행은 다음 JSON 형식 중 하나를 따라야 합니다.

  • jsonData 사용:
    • { "id": "<your-id>", "jsonData": "<JSON string>", "content": { "mimeType": "<application/pdf or text/html>", "uri": "gs://<your-gcs-bucket>/directory/filename.pdf" } }
  • structData 사용:
    • { "id": "<your-id>", "structData": { <JSON object> }, "content": { "mimeType": "<application/pdf or text/html>", "uri": "gs://<your-gcs-bucket>/directory/filename.pdf" } }

각 행의 uri 필드를 사용하여 문서의 Cloud Storage 위치를 가리킵니다.

다음은 비정형 문서의 NDJSON 메타데이터 파일의 예시입니다. 이 예시에서 메타데이터 파일의 각 줄은 PDF 문서를 가리키고 해당 문서의 메타데이터를 포함합니다. 첫 두 줄에서는 jsonData를 사용하고 두 번째 두 줄에서는 structData를 사용합니다. structData를 사용하면 따옴표 안에 있는 따옴표를 이스케이프 처리할 필요가 없습니다.

{"id":"doc-0","jsonData":"{\"title\":\"test_doc_0\",\"description\":\"This document uses a blue color theme\",\"color_theme\":\"blue\"}","content":{"mimeType":"application/pdf","uri":"gs://test-bucket-12345678/test_doc_0.pdf"}}
{"id":"doc-1","jsonData":"{\"title\":\"test_doc_1\",\"description\":\"This document uses a green color theme\",\"color_theme\":\"green\"}","content":{"mimeType":"application/pdf","uri":"gs://test-bucket-12345678/test_doc_1.pdf"}}
{"id":"doc-2","structData":{"title":"test_doc_2","description":"This document uses a red color theme","color_theme":"red"},"content":{"mimeType":"application/pdf","uri":"gs://test-bucket-12345678/test_doc_3.pdf"}}
{"id":"doc-3","structData":{"title":"test_doc_3","description":"This is document uses a yellow color theme","color_theme":"yellow"},"content":{"mimeType":"application/pdf","uri":"gs://test-bucket-12345678/test_doc_4.pdf"}}

데이터 스토어를 만들려면 검색 데이터 스토어 만들기 또는 추천 데이터 스토어 만들기를 참조하세요.

BigQuery

BigQuery에서 메타데이터를 가져오려면 메타데이터가 포함된 BigQuery 테이블을 만듭니다. 문서 ID는 메타데이터의 한 예시입니다.

비정형 문서를 Cloud Storage 버킷에 저장합니다.

다음 BigQuery 스키마를 사용합니다. 각 레코드의 uri 필드를 사용하여 문서의 Cloud Storage 위치를 가리킵니다.

[
  {
    "name": "id",
    "mode": "REQUIRED",
    "type": "STRING",
    "fields": []
  },
  {
    "name": "jsonData",
    "mode": "NULLABLE",
    "type": "STRING",
    "fields": []
  },
  {
    "name": "content",
    "type": "RECORD",
    "mode": "NULLABLE",
    "fields": [
      {
        "name": "mimeType",
        "type": "STRING",
        "mode": "NULLABLE"
      },
      {
        "name": "uri",
        "type": "STRING",
        "mode": "NULLABLE"
      }
    ]
  }
]

자세한 내용은 BigQuery 문서의 테이블 만들기 및 사용을 참조하세요.

데이터 스토어를 만들려면 검색 데이터 스토어 만들기 또는 추천 데이터 스토어 만들기를 참조하세요.

Google Drive

Google Drive의 데이터 동기화는 일반 검색에 지원됩니다.

Google Drive에서 데이터를 가져오려면 Vertex AI Agent Builder에서 Google ID를 ID 공급업체로 설정해야 합니다. 액세스 제어 설정 방법에 대한 자세한 내용은 데이터 소스 액세스 제어 사용을 참조하세요.

데이터 스토어를 만들려면 검색 데이터 스토어 만들기를 참조하세요.

구조화된 데이터

사용할 가져오기 방법에 따라 데이터를 준비합니다. 미디어 데이터를 수집하려면 정형 미디어 데이터도 참조하세요.

다음 소스에서 구조화된 데이터를 가져올 수 있습니다.

BigQuery 또는 Cloud Storage에서 구조화된 데이터를 가져올 때 메타데이터가 있는 데이터를 가져올 수 있는 옵션이 제공됩니다. 메타데이터가 있는 구조화된 데이터를 향상된 구조화된 데이터라고도 합니다.

BigQuery

BigQuery 데이터 세트에서 구조화된 데이터를 가져올 수 있습니다.

스키마가 자동으로 감지됩니다. 가져온 후에는 자동으로 감지된 스키마를 수정하여 제목과 같은 키 속성을 매핑하는 것이 좋습니다. Google Cloud 콘솔 대신 API를 사용하여 가져오면 자체 스키마를 JSON 객체로 제공할 수 있습니다. 자세한 내용은 스키마 제공 또는 자동 감지를 참조하세요.

공개적으로 사용 가능한 구조화된 데이터의 예시는 BigQuery 공개 데이터 세트를 참조하세요.

구조화된 데이터에 임베딩을 포함하려면 커스텀 임베딩 사용을 참조하세요.

메타데이터가 있는 구조화된 데이터를 가져오면 BigQuery 테이블에 다음 두 필드가 포함됩니다.

  • 문서를 식별하는 id 필드입니다. 메타데이터가 없는 구조화된 데이터를 가져오면 id가 자동으로 생성됩니다. 메타데이터를 포함하면 id 값을 지정할 수 있습니다.

  • 데이터가 포함된 jsonData 필드입니다. jsonData 문자열의 예시는 앞의 Cloud Storage 섹션을 참조하세요.

메타데이터가 있는 구조화된 데이터 가져오기에 다음 BigQuery 스키마를 사용합니다.

[
  {
    "name": "id",
    "mode": "REQUIRED",
    "type": "STRING",
    "fields": []
  },
  {
    "name": "jsonData",
    "mode": "NULLABLE",
    "type": "STRING",
    "fields": []
  }
]

데이터 스토어를 만드는 방법은 검색 데이터 스토어 만들기 또는 추천 데이터 스토어 만들기를 참조하세요.

Cloud Storage

Cloud Storage의 구조화된 데이터는 JSON Lines 또는 NDJSON 형식이어야 합니다. 각 파일은 2GB 이하여야 합니다. 한 번에 파일을 최대 100개까지 가져올 수 있습니다.

공개적으로 사용 가능한 구조화된 데이터의 예시는 NDJSON 파일이 포함된 Cloud Storage의 다음 폴더를 참조하세요.

  • gs://cloud-samples-data/gen-app-builder/search/kaggle_movies
  • gs://cloud-samples-data/gen-app-builder/search/austin_311

구조화된 데이터에 임베딩을 포함하려면 커스텀 임베딩 사용을 참조하세요.

다음은 구조화된 데이터의 NDJSON 메타데이터 파일 예시입니다. 파일의 각 줄은 문서를 나타내며 필드 집합으로 구성됩니다.

{"hotel_id": 10001, "title": "Hotel 1", "location": {"address": "1600 Amphitheatre Parkway, Mountain View, CA 94043"}, "available_date": "2024-02-10", "non_smoking": true, "rating": 3.7, "room_types": ["Deluxe", "Single", "Suite"]}
{"hotel_id": 10002, "title": "Hotel 2", "location": {"address": "Manhattan, New York, NY 10001"}, "available_date": "2023-07-10", "non_smoking": false, "rating": 5.0, "room_types": ["Deluxe", "Double", "Suite"]}
{"hotel_id": 10003, "title": "Hotel 3", "location": {"address": "Moffett Park, Sunnyvale, CA 94089"}, "available_date": "2023-06-24", "non_smoking": true, "rating": 2.5, "room_types": ["Double", "Penthouse", "Suite"]}

데이터 스토어를 만들려면 검색 데이터 스토어 만들기 또는 추천 데이터 스토어 만들기를 참조하세요.

채팅 앱용 CSV 파일에서 FAQ 데이터의 형식을 지정하는 방법에 관한 자세한 내용은 Dialogflow CX 문서의 구조화된 데이터 스토어를 참고하세요.

로컬 JSON 데이터

API를 사용하여 JSON 문서나 객체를 직접 업로드할 수 있습니다.

더욱 우수한 결과를 얻으려면 자체 스키마를 JSON 객체로 제공하는 것이 좋습니다. 자체 스키마를 제공하지 않으면 스키마가 자동으로 감지됩니다. 가져온 후에는 자동으로 감지된 스키마를 수정하여 제목과 같은 키 속성을 매핑하는 것이 좋습니다. 자세한 내용은 스키마 제공 또는 자동 감지를 참조하세요.

구조화된 데이터에 임베딩을 포함하려면 커스텀 임베딩 사용을 참조하세요.

데이터 스토어를 만들려면 검색 데이터 스토어 만들기 또는 추천 데이터 스토어 만들기를 참조하세요.

정형 미디어 데이터

동영상, 뉴스 또는 음악과 같은 정형 미디어 데이터를 수집하려면 다음을 검토하세요.

서드 파티 데이터 소스

서드 파티 데이터 소스에서 수집은 허용 목록 기능이 있는 미리보기입니다.

서드 파티 데이터 소스 연결은 일반 검색에 지원됩니다.

서드 파티 데이터 소스를 연결하면 데이터가 처음 수집된 후 지정된 빈도로 Vertex AI Search와 동기화됩니다.

데이터 소스 연결을 설정하기 전에 데이터 소스에 대한 액세스 제어를 설정해야 합니다. 액세스 제어 설정 방법에 대한 자세한 내용은 데이터 소스 액세스 제어 사용을 참조하세요.

데이터 소스를 연결하는 데 필요한 사용자 인증 정보는 수집하려는 서드 파티 데이터 소스를 연결하는 방법에 대한 문서를 참조하세요.

의료 FHIR 데이터

Cloud Healthcare API에서 FHIR 데이터를 수집하려면 다음을 확인하세요.

  • 위치: 소스 FHIR 저장소는 us-central1, us 또는 eu 위치에 있는 Cloud Healthcare API 데이터 세트에 있어야 합니다. 자세한 내용은 Cloud Healthcare API에서 데이터 세트 만들기 및 관리를 참조하세요.
  • FHIR 저장소 유형: 소스 FHIR 저장소는 R4 데이터 스토어여야 합니다. 데이터 세트에 FHIR 저장소를 나열하여 FHIR 저장소 버전을 확인할 수 있습니다. FHIR R4 저장소를 만들려면 FHIR 저장소 만들기를 참조하세요.
  • 가져오기 할당량: 소스 FHIR 저장소에 FHIR 리소스가 100만 개 미만으로 있어야 합니다. FHIR 리소스가 100만 개를 초과하는 경우 이 한도에 도달하면 가져오기 프로세스가 중지됩니다. 자세한 내용은 할당량 및 한도를 참조하세요.
  • DocumentReference 리소스에서 참조하는 파일은 Cloud Storage에 저장된 PDF, RTF 또는 이미지 파일이어야 합니다. 참조된 파일의 링크는 표준 Cloud Storage 경로 형식(gs://BUCKET_NAME/PATH_TO_REFERENCED_FILE)으로 리소스의 content[].attachment.url 필드에 있어야 합니다.
  • Vertex AI Search에서 지원하는 FHIR R4 리소스 목록을 검토합니다. 자세한 내용은 의료 FHIR R4 데이터 스키마 참조를 참조하세요.