문서 파싱 및 청크 처리

이 페이지에서는 Vertex AI Search를 사용하여 문서를 파싱하고 청크 처리하는 방법을 설명합니다.

다음과 같은 목적으로 파싱 또는 청크 설정을 구성할 수 있습니다.

  • Vertex AI Search에서 콘텐츠를 파싱하는 방법을 지정합니다. 비정형 콘텐츠를 Vertex AI Search에 업로드할 때 이를 파싱하는 방법을 지정할 수 있습니다. Vertex AI Search는 디지털 파서, PDF용 OCR 파서, 레이아웃 파서를 제공합니다. 자체로 파싱된 문서를 사용할 수도 있습니다. 레이아웃 파서는 검색 및 답변 생성을 위해 문서에서 추출할 리치 콘텐츠와 섹션, 단락, 표, 목록과 같은 구조적 요소가 있는 경우에 권장됩니다.

    파싱으로 콘텐츠 감지 개선을 참고하세요.

  • 검색 증강 생성(RAG)을 위해 Vertex AI Search를 사용합니다. Vertex AI Search 앱에 업로드한 관련 데이터를 사용하여 LLM의 출력을 개선합니다. 이를 위해 데이터를 청크로 색인화하여 관련성을 개선하고 LLM의 계산 부하를 줄이는 문서 청크 처리를 사용 설정합니다. 또한 제목 및 목록과 같은 문서 요소를 감지하여 문서가 청크되는 방식을 개선하는 레이아웃 파서를 사용 설정합니다.

    RAG의 청크 처리 및 검색 요청에서 청크를 반환하는 방법에 관한 자세한 내용은 RAG용 문서 청크 처리를 참고하세요.

문서 파싱

다음과 같은 방법으로 콘텐츠 파싱을 제어할 수 있습니다.

  • 파서 유형을 지정합니다. 파일 형식에 따라 적용할 파싱 유형을 지정할 수 있습니다.

    • 디지털 파서. 다른 파서 유형이 지정되지 않는 한 디지털 파서는 모든 파일 형식에 기본적으로 사용 설정되어 있습니다. 디지털 파서는 데이터 스토어에 다른 기본 파서가 지정되지 않았거나 지정된 파서가 수집된 문서의 파일 형식을 지원하지 않는 경우 수집된 문서를 처리합니다.
    • PDF용 OCR 파싱. 스캔한 PDF 또는 이미지 내에 텍스트가 포함된 PDF를 업로드할 계획이라면 OCR 파서를 사용 설정하여 PDF 색인을 개선할 수 있습니다. 이 문서의 PDF용 OCR 파서 섹션을 참고하세요.
    • 레이아웃 파서. RAG에 Vertex AI Search를 사용하려면 HTML, PDF 또는 DOCX 파일의 레이아웃 파서를 사용 설정합니다. 이 파서와 사용 설정 방법에 관한 자세한 내용은 RAG용 청크 문서를 참고하세요.
  • 자체 파싱된 문서를 가져옵니다. (허용 목록이 있는 미리보기) 비정형 문서를 이미 파싱한 경우 사전 파싱된 콘텐츠를 Vertex AI Search로 가져올 수 있습니다. 자체 파싱된 문서 사용을 참고하세요.

파서 사용 가능 여부 비교

다음 표에는 문서 파일 유형별로 각 파서가 제공되는지 여부가 나와 있으며 각 파서가 감지하고 파싱할 수 있는 요소가 표시됩니다.

파일 형식 디지털 파서 OCR 파서 레이아웃 파서
HTML 단락 요소 감지 해당 사항 없음 단락, 표, 목록, 제목, 제목 요소 감지
PDF 단락(디지털 텍스트) 요소 감지 단락 요소 감지 단락, 표, 제목, 제목 요소 감지
DOCX(미리보기) 단락 요소 감지 해당 사항 없음 단락, 표, 목록, 제목, 제목 요소 감지
PPTX(미리보기) 단락 요소 감지 해당 사항 없음 단락, 표, 목록, 제목, 제목 요소 감지
TXT 단락 요소 감지 해당 사항 없음 단락, 표, 제목, 제목 요소 감지
XLSX(미리보기) 단락 요소 감지 해당 사항 없음 단락, 표, 제목, 제목 요소 감지

디지털 파서

디지털 파서는 문서에서 기계가 읽을 수 있는 텍스트를 추출합니다. 텍스트 블록은 감지하지만 표, 목록, 제목과 같은 문서 요소는 감지하지 않습니다.

데이터 스토어를 만들 때 다른 파서를 기본값으로 지정하지 않거나 지정된 파서가 업로드되는 파일 형식을 지원하지 않는 경우 디지털 파서가 기본값으로 사용됩니다.

PDF용 OCR 파서

검색할 수 없는 PDF(스캔된 PDF 또는 인포그래픽과 같이 이미지 내에 텍스트가 있는 PDF)가 있는 경우 데이터 스토어를 만들 때 광학 문자 인식(OCR) 처리를 사용 설정하는 것이 좋습니다. 이렇게 하면 Vertex AI Search에서 단락 요소를 추출할 수 있습니다.

검색 가능한 PDF 또는 대부분 기계가 읽을 수 있는 텍스트로 구성된 기타 디지털 형식이 있는 경우 일반적으로 OCR 파서를 사용할 필요가 없습니다. 그러나 검색할 수 없는 텍스트(예: 스캔된 텍스트 또는 인포그래픽)와 머신이 읽을 수 있는 텍스트가 모두 포함된 PDF가 있는 경우 OCR 파서를 지정할 때 useNativeText 필드를 true로 설정할 수 있습니다. 이 경우 텍스트 추출 품질을 개선하기 위해 머신이 읽을 수 있는 텍스트가 OCR 파싱 출력과 병합됩니다.

OCR 처리 기능은 비정형 데이터 스토어가 있는 일반 검색 앱에서 사용할 수 있습니다.

OCR 프로세서는 PDF 파일당 최대 500페이지를 파싱할 수 있습니다. PDF가 더 긴 경우 OCR 프로세서가 처음 500페이지를 파싱하고 기본 파서가 나머지를 파싱합니다.

레이아웃 파서

레이아웃 파싱을 사용하면 Vertex AI Search에서 PDF 및 HTML의 레이아웃을 감지할 수 있습니다. DOCX 파일 지원은 미리보기 버전입니다. 그러면 Vertex AI Search에서 텍스트 블록, 표, 목록과 같은 콘텐츠 요소와 제목, 머리글과 같은 구조적 요소를 식별하고 이를 사용하여 문서의 구성과 계층 구조를 정의할 수 있습니다.

모든 파일 형식에 레이아웃 파싱을 사용 설정하거나 사용 설정할 파일 형식을 지정할 수 있습니다. 레이아웃 파서는 단락, 표, 목록과 같은 콘텐츠 요소와 제목, 머리글, 각주와 같은 구조적 요소를 감지합니다.

레이아웃 파서는 RAG에 문서 청크를 사용하는 경우에만 이용할 수 있습니다. 문서 청크 처리가 사용 설정된 경우 Vertex AI Search는 수집 시 문서를 청크로 분할하고 문서를 청크로 반환할 수 있습니다. 문서 레이아웃을 감지하면 콘텐츠 인식 청크 처리가 가능해지고 문서 요소와 관련된 검색 및 답변 생성이 향상됩니다. RAG용 문서 청크 처리에 관한 자세한 내용은 RAG용 문서 청크 처리를 참고하세요.

레이아웃 파서에서는 최대 40MB의 PDF 파일을 지원합니다.

기본 파서 지정

데이터 스토어를 만들 때 documentProcessingConfig 객체를 포함하면 해당 데이터 스토어의 기본 파서를 지정할 수 있습니다. documentProcessingConfig.defaultParsingConfig를 포함하지 않으면 디지털 파서가 사용됩니다. 디지털 파서는 지정된 파서를 파일 유형에 사용할 수 없는 경우에도 사용됩니다.

REST

기본 파서를 지정하려면 다음 단계를 따르세요.

  1. API를 사용하여 검색 데이터 스토어를 만들 때 데이터 스토어 생성 요청에 documentProcessingConfig.defaultParsingConfig를 포함합니다. OCR 파서, 레이아웃 파서 또는 디지털 파서를 지정할 수 있습니다.

    • PDF의 OCR 파서를 지정하려면 다음 단계를 따르세요.

      "documentProcessingConfig": {
        "defaultParsingConfig": {
          "ocrParsingConfig": {
            "useNativeText": "NATIVE_TEXT_BOOLEAN"
          }
        }
      }
      
      • NATIVE_TEXT_BOOLEAN: 선택사항. PDF를 수집하는 경우에만 설정합니다. true로 설정하면 OCR 파서에 대해 머신에서 읽을 수 있는 텍스트 처리가 사용 설정됩니다. 기본값은 false입니다.
    • 레이아웃 파서를 지정하려면 다음 단계를 따르세요.

      "documentProcessingConfig": {
        "defaultParsingConfig": {
          "layoutParsingConfig": {}
        }
      }
      
    • 디지털 파서를 지정하려면 다음 단계를 따르세요.

       "documentProcessingConfig": {
          "defaultParsingConfig": { "digitalParsingConfig": {} }
       }
      

예시

다음 예시에서는 데이터 스토어 생성 중에 OCR 파서가 기본 파서가 되도록 지정합니다. OCR 파서는 PDF 파일에만 적용되므로 수집되는 모든 PDF 파일은 OCR 파서에서 처리되고 다른 파일 형식은 디지털 파서에서 처리됩니다.

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-H "X-Goog-User-Project: exampleproject" \
"https://discoveryengine.googleapis.com/v1alpha/projects/exampleproject/locations/global/collections/default_collection/dataStores?dataStoreId=datastore123" \
-d '{
  "displayName": "exampledatastore",
  "industryVertical": "GENERIC",
  "solutionTypes": ["SOLUTION_TYPE_SEARCH"],
  "contentConfig": "CONTENT_REQUIRED",
  "documentProcessingConfig": {
    "defaultParsingConfig": {
      "ocrParsingConfig": {
        "useNativeText": "false"
      }
    }
  }
}'

파일 형식의 파서 재정의 지정

특정 파일 형식(PDF, HTML, DOCX)을 기본 파서가 아닌 다른 파서로 파싱하도록 지정할 수 있습니다. 이렇게 하려면 데이터 스토어 생성 요청에 documentProcessingConfig 필드를 포함하고 재정의 파서를 지정합니다. 기본 파서를 지정하지 않으면 디지털 파서가 기본값입니다.

REST

파일 유형별 파서 재정의를 지정하려면 다음 단계를 따르세요.

  1. API를 사용하여 검색 데이터 스토어를 만들 때 데이터 스토어 생성 요청에 documentProcessingConfig.defaultParsingConfig를 포함합니다.

    pdf, html 또는 docx의 파서를 지정할 수 있습니다.

    "documentProcessingConfig": {
      "parsingConfigOverrides": {
        "FILE_TYPE": { PARSING_CONFIG },
      }
     }
    

    다음을 바꿉니다.

    • FILE_TYPE: 허용되는 값은 pdf, html, docx입니다.
    • PARSING_CONFIG: 파일 형식에 적용할 파서 구성을 지정합니다. OCR 파서, 레이아웃 파서 또는 디지털 파서를 지정할 수 있습니다.

      • PDF의 OCR 파서를 지정하려면 다음 단계를 따르세요.

        "ocrParsingConfig": {
          "useNativeText": "NATIVE_TEXT_BOOLEAN"
        }
        
        • NATIVE_TEXT_BOOLEAN: 선택사항. PDF를 수집하는 경우에만 설정합니다. true로 설정하면 OCR 파서에 대해 머신에서 읽을 수 있는 텍스트 처리가 사용 설정됩니다. 기본값은 false입니다.
      • 레이아웃 파서를 지정하려면 다음 단계를 따르세요.

        "layoutParsingConfig": {}
        
      • 디지털 파서를 지정하려면 다음 단계를 따르세요.

        "documentProcessingConfig": {
          "defaultParsingConfig": { "digitalParsingConfig": {} }
        }
        

예시

다음 예시에서는 데이터 스토어를 만들 때 PDF 파일은 OCR 파서에서 처리하고 HTML 파일은 레이아웃 파서에서 처리되도록 지정합니다. 이 경우 PDF 및 HTML 파일 이외의 모든 파일은 디지털 파서에 의해 처리됩니다.

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-H "X-Goog-User-Project: exampleproject" \
"https://discoveryengine.googleapis.com/v1alpha/projects/exampleproject/locations/global/collections/default_collection/dataStores?dataStoreId=datastore123" \
-d '{
  "displayName": "exampledatastore",
  "industryVertical": "GENERIC",
  "solutionTypes": ["SOLUTION_TYPE_SEARCH"],
  "contentConfig": "CONTENT_REQUIRED",
  "documentProcessingConfig": {
    "parsingConfigOverrides": {
      "pdf": {
        "ocrParsingConfig": {
            "useNativeText": "false"
          },
      },
      "html": {
         "layoutParsingConfig": {}
      }
    }
  }
}'

JSON으로 파싱된 문서 가져오기

getProcessedDocument 메서드를 호출하고 PARSED_DOCUMENT를 처리된 문서 유형으로 지정하여 JSON 형식으로 파싱된 문서를 가져올 수 있습니다. JSON으로 파싱된 문서를 가져오는 것은 파싱된 문서를 다른 위치에 업로드해야 하거나 자체 파싱된 문서 사용 기능을 사용하여 파싱된 문서를 Vertex AI Agent Builder로 다시 가져오려는 경우에 유용할 수 있습니다.

REST

파싱된 문서를 JSON으로 가져오려면 다음 단계를 따르세요.

  1. getProcessedDocument 메서드 호출:

    curl -X GET \
        -H "Authorization: Bearer $(gcloud auth print-access-token)" \
        "https://discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATA_STORE_ID/branches/0/documents/DOCUMENT_ID:getProcessedDocument?processed_document_type=PARSED_DOCUMENT"
    

    다음을 바꿉니다.

    • PROJECT_ID: 프로젝트의 ID입니다.
    • DATA_STORE_ID: 데이터 스토어의 ID입니다.
    • DOCUMENT_ID: 가져올 문서의 ID입니다.

자체 파싱된 문서 사용

사전 파싱된 비정형 문서를 Vertex AI Search 데이터 스토어로 가져올 수 있습니다. 예를 들어 원시 PDF 문서를 가져오는 대신 PDF를 직접 파싱하고 파싱 결과를 가져올 수 있습니다. 이렇게 하면 구조화된 방식으로 문서를 가져와 검색 및 답변 생성 시 문서의 레이아웃과 요소에 관한 정보가 포함되도록 할 수 있습니다.

파싱된 비정형 문서는 텍스트, 표, 목록 블록의 시퀀스를 사용하여 비정형 문서를 설명하는 JSON으로 표현됩니다. PDF와 같은 다른 유형의 비정형 문서를 가져오는 것과 동일한 방식으로 파싱된 비정형 문서 데이터가 포함된 JSON 파일을 가져옵니다. 이 기능을 사용 설정하면 JSON 파일이 업로드되고 application/json MIME 유형 또는 .JSON 확장자로 식별될 때마다 파싱된 문서로 취급됩니다.

이 기능을 사용 설정하고 사용 방법에 관한 자세한 내용을 알아보려면 Google 계정팀에 문의하세요.

RAG용 문서 청크 처리

기본적으로 Vertex AI Search는 검색 앱이 각 검색 결과와 함께 PDF 또는 웹페이지와 같은 문서를 반환하는 문서 검색에 최적화되어 있습니다.

문서 청크 기능은 비정형 데이터 스토어가 있는 일반 검색 앱에서 사용할 수 있습니다.

대신 Vertex AI Search를 RAG에 맞게 최적화할 수 있습니다. 이 경우 검색 앱은 주로 LLM 출력을 맞춤 데이터로 보강하는 데 사용됩니다. 문서 청크 처리가 사용 설정되면 Vertex AI Search에서 문서를 청크로 분할합니다. 검색 결과에서 검색 앱은 전체 문서 대신 관련성 높은 데이터 청크를 반환할 수 있습니다. RAG에 청크 데이터를 사용하면 LLM 응답의 관련성이 높아지고 LLM의 계산 부하가 줄어듭니다.

RAG용 Vertex AI Search를 사용하려면 다음 단계를 따르세요.

  1. 데이터 스토어를 만들 때 문서 청크 처리를 사용 설정합니다.

    또는 이미 자체 문서를 청크 처리한 경우 자체 청크를 업로드합니다(허용 목록이 있는 미리보기).

  2. 다음과 같은 방법으로 청크를 검색하고 확인합니다.

  3. 검색 요청에서 청크 반환

제한사항

청크 처리에는 다음과 같은 제한사항이 적용됩니다.

  • 데이터 스토어를 만든 후에는 문서 청크 처리를 사용 설정하거나 사용 중지할 수 없습니다.
  • 문서 청크 처리를 사용 설정한 데이터 스토어에서 청크 대신 문서에 대한 검색 요청을 할 수 있습니다. 그러나 문서 청크 처리가 사용 설정된 데이터 스토어는 문서 반환에 최적화되어 있지 않습니다. 문서는 청크를 문서로 집계하여 반환됩니다.
  • 문서 청크 처리가 사용 설정된 경우 검색 요약 및 후속 조치가 포함된 검색은 공개 미리보기에서 지원되지만 정식 버전에서는 지원되지 않습니다.

문서 청크 처리 옵션

이 섹션에서는 문서 청크 처리를 사용 설정하기 위해 지정하는 옵션에 대해 설명합니다.

데이터 스토어를 만드는 동안 Vertex AI Search에서 문서를 청크로 색인을 생성할 수 있도록 다음 옵션을 사용 설정합니다.

  • 레이아웃 인식 문서 청크 처리. 이 옵션을 사용 설정하려면 데이터 스토어 생성 요청에 documentProcessingConfig 필드를 포함하고 ChunkingConfig.LayoutBasedChunkingConfig를 지정합니다.

    레이아웃 인식 문서 청크 처리가 사용 설정되면 Vertex AI Search가 문서의 레이아웃을 감지하고 청크 처리 중에 이를 고려합니다. 이렇게 하면 검색 및 LLM 생성에 사용할 때 콘텐츠의 시맨틱 일관성이 개선되고 노이즈가 줄어듭니다. 청크의 모든 텍스트는 제목, 부제목, 목록과 같은 동일한 레이아웃 항목에서 가져옵니다.

  • 레이아웃 파싱. 이 옵션을 사용 설정하려면 데이터 스토어를 만들 때 ParsingConfig.LayoutParsingConfig를 지정합니다.

    레이아웃 파서는 PDF, HTML, DOCX 파일의 레이아웃을 감지합니다. 텍스트 블록, 표, 목록, 제목, 머리글과 같은 요소를 식별하고 이를 사용하여 문서의 구성과 계층 구조를 정의합니다.

    레이아웃 파싱에 관한 자세한 내용은 레이아웃 파싱을 참고하세요.

문서 청크 처리 사용 설정

데이터 스토어 생성 요청에 documentProcessingConfig 객체를 포함하고 레이아웃 인식 문서 청크 처리 및 레이아웃 파싱을 사용 설정하여 문서 청크 처리를 사용 설정할 수 있습니다.

REST

문서 청크 처리를 사용 설정하려면 다음 단계를 따르세요.

  1. API를 사용하여 검색 데이터 스토어를 만들 때 데이터 스토어 생성 요청에 documentProcessingConfig.chunkingConfig 객체를 포함합니다.

     "documentProcessingConfig": {
       "chunkingConfig": {
           "layoutBasedChunkingConfig": {
               "chunkSize": CHUNK_SIZE_LIMIT,
               "includeAncestorHeadings": HEADINGS_BOOLEAN,
           }
       },
       "defaultParsingConfig": {
         "layoutParsingConfig": {}
       }
     }
    

    다음을 바꿉니다.

    • CHUNK_SIZE_LIMIT: 선택사항. 각 청크의 토큰 크기 제한입니다. 기본값은 500입니다. 지원되는 값은 100~500(양 끝값 포함)입니다.
    • HEADINGS_BOOLEAN: 선택사항. 각 청크에 제목이 포함되는지 여부를 결정합니다. 기본값은 false입니다. 문서 중간에서 청크에 모든 수준의 제목과 머리글을 추가하면 청크 검색 및 순위 지정 시 컨텍스트 손실을 방지하는 데 도움이 될 수 있습니다.

자체 청크 사용(허용 목록 추가를 통한 미리보기)

이미 자체 문서를 청크 처리한 경우 문서 청크 처리 옵션을 사용 설정하는 대신 문서를 Vertex AI Search에 업로드할 수 있습니다.

자체 청크 사용은 허용 목록 기능이 있는 미리보기입니다. 이 기능을 사용하려면 Google 계정팀에 문의하세요.

문서의 청크 나열

특정 문서의 모든 청크를 나열하려면 Chunks.list 메서드를 호출합니다.

REST

문서의 청크를 나열하려면 다음 단계를 따르세요.

  1. Chunks.list 메서드를 호출합니다.

    curl -X GET \
        -H "Authorization: Bearer $(gcloud auth print-access-token)" \
        "https://discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATA_STORE_ID/branches/0/documents/DOCUMENT_ID/chunks"
    

    다음을 바꿉니다.

    • PROJECT_ID: 프로젝트의 ID입니다.
    • DATA_STORE_ID: 데이터 스토어의 ID입니다.
    • DOCUMENT_ID: 청크를 나열할 문서의 ID입니다.

처리된 문서에서 JSON으로 청크 가져오기

getProcessedDocument 메서드를 호출하여 특정 문서의 모든 청크를 JSON 형식으로 가져올 수 있습니다. JSON으로 청크를 가져오는 것은 청크를 다른 위치에 업로드해야 하거나 자체 청크 사용 기능을 사용하여 Vertex AI Agent Builder에 청크를 다시 가져오기로 결정한 경우에 유용할 수 있습니다.

REST

문서의 JSON 청크를 가져오려면 다음 단계를 따르세요.

  1. getProcessedDocument 메서드 호출:

    curl -X GET \
        -H "Authorization: Bearer $(gcloud auth print-access-token)" \
        "https://discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATA_STORE_ID/branches/0/documents/DOCUMENT_ID/chunks:getProcessedDocument?processed_document_type=CHUNKED_DOCUMENT"
    

    다음을 바꿉니다.

    • PROJECT_ID: 프로젝트의 ID입니다.
    • DATA_STORE_ID: 데이터 스토어의 ID입니다.
    • DOCUMENT_ID: 청크를 가져올 문서의 ID입니다.

특정 청크 가져오기

특정 청크를 가져오려면 Chunks.get 메서드를 호출합니다.

REST

특정 청크를 가져오려면 다음 단계를 따르세요.

  1. Chunks.get 메서드를 호출합니다.

    curl -X GET \
        -H "Authorization: Bearer $(gcloud auth print-access-token)" \
        "https://discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATA_STORE_ID/branches/0/documents/DOCUMENT_ID/chunks/CHUNK_ID"
    

    다음을 바꿉니다.

    • PROJECT_ID: 프로젝트의 ID입니다.
    • DATA_STORE_ID: 데이터 스토어의 ID입니다.
    • DOCUMENT_ID: 청크가 포함된 문서의 ID입니다.
    • CHUNK_ID: 반환할 청크의 ID입니다.

데이터가 올바르게 청크 처리되었음을 확인한 후 Vertex AI Search에서 검색 결과에 청크 처리된 데이터를 반환할 수 있습니다.

응답은 검색어와 관련된 청크를 반환합니다. 또한 소스 문서의 관련 청크 앞뒤에 표시되는 인접한 청크를 반환하도록 선택할 수 있습니다. 인접한 청크를 추가하면 맥락과 정확성을 높일 수 있습니다.

REST

청크 데이터를 가져오려면 다음 단계를 따르세요.

  1. 검색 요청을 할 때는 ContentSearchSpec.SearchResultModechunks로 지정합니다.

    contentSearchSpec": {
      "searchResultMode": "RESULT_MODE",
      "chunkSpec": {
           "numPreviousChunks": NUMBER_OF_PREVIOUS_CHUNKS,
           "numNextChunks": NUMBER_OF_NEXT_CHUNKS
       }
    }
    
    • RESULT_MODE: 검색 결과가 전체 문서로 반환되는지 또는 청크로 반환되는지 결정합니다. 청크를 가져오려면 데이터 스토어에 문서 청크 처리가 사용 설정되어 있어야 합니다. 허용되는 값은 documentschunks입니다. 데이터 스토어에 문서 청크 처리가 사용 설정된 경우 기본값은 chunks입니다.
    • NUMBER_OF_PREVIOUS_CHUNKS: 관련 청크 바로 앞에 반환할 청크의 수입니다. 허용되는 최댓값은 5입니다.
    • NUMBER_OF_NEXT_CHUNKS: 관련 청크 바로 뒤에 반환할 청크의 수입니다. 허용되는 최댓값은 5입니다.

예시

다음 검색어 요청 예시에서는 SearchResultModechunks로 설정하고, 이전 청크 1개와 다음 청크 1개를 요청하고, pageSize를 사용하여 결과 수를 단일 관련 청크로 제한합니다.

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-H "X-Goog-User-Project: exampleproject" \
"https://discoveryengine.googleapis.com/v1alpha/projects/exampleproject/locations/global/collections/default_collection/dataStores/datastore123/servingConfigs/default_search:search" \
-d '{
  "query": "animal",
  "pageSize": 1,
  "contentSearchSpec": {
    "searchResultMode": "CHUNKS",
    "chunkSpec": {
           "numPreviousChunks": 1,
           "numNextChunks": 1
       }
  }
}'

다음 예시는 예시 쿼리의 반환된 응답을 보여줍니다. 응답에는 관련 청크, 이전 청크 및 다음 청크, 원본 문서의 메타데이터, 각 청크가 파생된 문서 페이지 범위가 포함됩니다.

응답

{
  "results": [
    {
      "chunk": {
        "name": "projects/961309680810/locations/global/collections/default_collection/dataStores/allie-pdf-adjacent-chunks_1711394998841/branches/0/documents/0d8619f429d7f20b3575b14cd0ad0813/chunks/c17",
        "id": "c17",
        "content": "\n# ESS10: Stakeholder Engagement and Information Disclosure\nReaders should also refer to ESS10 and its guidance notes, plus the template available for a stakeholder engagement plan. More detail on stakeholder engagement in projects with risks related to animal health is contained in section 4 below. The type of stakeholders (men and women) that can be engaged by the Borrower as part of the project's environmental and social assessment and project design and implementation are diverse and vary based on the type of intervention. The stakeholders can include: Pastoralists, farmers, herders, women's groups, women farmers, community members, fishermen, youths, etc. Cooperatives members, farmer groups, women's livestock associations, water user associations, community councils, slaughterhouse workers, traders, etc. Veterinarians, para-veterinary professionals, animal health workers, community animal health workers, faculties and students in veterinary colleges, etc. 8 \n# 4. Good Practice in Animal Health Risk Assessment and Management\n\n# Approach\nRisk assessment provides the transparent, adequate and objective evaluation needed by interested parties to make decisions on health-related risks associated with project activities involving live animals. As the ESF requires, it is conducted throughout the project cycle, to provide or indicate likelihood and impact of a given hazard, identify factors that shape the risk, and find proportionate and appropriate management options. The level of risk may be reduced by mitigation measures, such as infrastructure (e.g., diagnostic laboratories, border control posts, quarantine stations), codes of practice (e.g., good animal husbandry practices, on-farm biosecurity, quarantine, vaccination), policies and regulations (e.g., rules for importing live animals, ban on growth hormones and promotors, feed standards, distance required between farms, vaccination), institutional capacity (e.g., veterinary services, surveillance and monitoring), changes in individual behavior (e.g., hygiene, hand washing, care for animals). Annex 2 provides examples of mitigation practices. This list is not an exhaustive one but a compendium of most practiced interventions and activities. The cited measures should take into account social, economic, as well as cultural, gender and occupational aspects, and other factors that may affect the acceptability of mitigation practices by project beneficiaries and other stakeholders. Risk assessment is reviewed and updated through the project cycle (for example to take into account increased trade and travel connectivity between rural and urban settings and how this may affect risks of disease occurrence and/or outbreak). Projects monitor changes in risks (likelihood and impact) b               by using data, triggers or indicators. ",
        "documentMetadata": {
          "uri": "gs://table_eval_set/pdf/worldbank/AnimalHealthGoodPracticeNote.pdf",
          "title": "AnimalHealthGoodPracticeNote"
        },
        "pageSpan": {
          "pageStart": 14,
          "pageEnd": 15
        },
        "chunkMetadata": {
          "previousChunks": [
            {
              "name": "projects/961309680810/locations/global/collections/default_collection/dataStores/allie-pdf-adjacent-chunks_1711394998841/branches/0/documents/0d8619f429d7f20b3575b14cd0ad0813/chunks/c16",
              "id": "c16",
              "content": "\n# ESS6: Biodiversity Conservation and Sustainable Management of Living Natural Resources\nThe risks associated with livestock interventions under ESS6 include animal welfare (in relation to housing, transport, and slaughter); diffusion of pathogens from domestic animals to wildlife, with risks for endemic species and biodiversity (e.g., sheep and goat plague in Mongolia affecting the saiga, an endemic species of wild antelope); the introduction of new breeds with potential risk of introducing exotic or new diseases; and the release of new species that are not endemic with competitive advantage, potentially putting endemic species at risk of extinction. Animal welfare relates to how an animal is coping with the conditions in which it lives. An animal is in a good state of welfare if it is healthy, comfortable, well nourished, safe, able to express innate behavior, 7 Good Practice Note - Animal Health and related risks and is not suffering from unpleasant states such as pain, fear or distress. Good animal welfare requires appropriate animal care, disease prevention and veterinary treatment; appropriate shelter, management and nutrition; humane handling, slaughter or culling. The OIE provides standards for animal welfare on farms, during transport and at the time of slaughter, for their welfare and for purposes of disease control, in its Terrestrial and Aquatic Codes. The 2014 IFC Good Practice Note: Improving Animal Welfare in Livestock Operations is another example of practical guidance provided to development practitioners for implementation in investments and operations. Pastoralists rely heavily on livestock as a source of food, income and social status. Emergency projects to restock the herds of pastoralists affected by drought, disease or other natural disaster should pay particular attention to animal welfare (in terms of transport, access to water, feed, and animal health) to avoid potential disease transmission and ensure humane treatment of animals. Restocking also entails assessing the assets of pastoralists and their ability to maintain livestock in good conditions (access to pasture and water, social relationship, technical knowledge, etc.). Pastoralist communities also need to be engaged by the project to determine the type of animals and breed and the minimum herd size to be considered for restocking. \n# Box 5. Safeguarding the welfare of animals and related risks in project activities\nIn Haiti, the RESEPAG project (Relaunching Agriculture: Strengthening Agriculture Public Services) financed housing for goats and provided technical recommendations for improving their welfare, which is critical to avoid the respiratory infections, including pneumonia, that are serious diseases for goats. To prevent these diseases, requires optimal sanitation and air quality in herd housing. This involves ensuring that buildings have adequate ventilation and dust levels are reduced to minimize the opportunity for infection. Good nutrition, water and minerals are also needed to support the goats' immune function. The project paid particular attention to: (i) housing design to ensure good ventilation; (ii) locating housing close to water sources and away from human habitation and noisy areas; (iii) providing mineral blocks for micronutrients; (iv) ensuring availability of drinking water and clean food troughs. ",
              "documentMetadata": {
                "uri": "gs://table_eval_set/pdf/worldbank/AnimalHealthGoodPracticeNote.pdf",
                "title": "AnimalHealthGoodPracticeNote"
              },
              "pageSpan": {
                "pageStart": 13,
                "pageEnd": 14
              }
            }
          ],
          "nextChunks": [
            {
              "name": "projects/961309680810/locations/global/collections/default_collection/dataStores/allie-pdf-adjacent-chunks_1711394998841/branches/0/documents/0d8619f429d7f20b3575b14cd0ad0813/chunks/c18",
              "id": "c18",
              "content": "\n# Scoping of risks\nEarly scoping of risks related to animal health informs decisions to initiate more comprehensive risk assessment according to the type of livestock interventions and activities. It can be based on the following considerations: • • • • Type of livestock interventions supported by the project (such as expansion of feed resources, improvement of animal genetics, construction/upgrading and management of post-farm-gate facilities, etc. – see also Annex 2); Geographic scope and scale of the livestock interventions; Human and animal populations that are likely to be affected (farmers, women, children, domestic animals, wildlife, etc.); and Changes in the project or project context (such as emerging disease outbreak, extreme weather or climatic conditions) that would require a re-assessment of risk levels, mitigation measures and their likely effect on risk reduction. Scenario planning can also help to identify project-specific vulnerabilities, country-wide or locally, and help shape pragmatic analyses that address single or multiple hazards. In this process, some populations may be identified as having disproportionate exposure or vulnerability to certain risks because of occupation, gender, age, cultural or religious affiliation, socio-economic or health status. For example, women and children may be the main caretakers of livestock in the case of 9 Good Practice Note - Animal Health and related risks household farming, which puts them into close contact with animals and animal products. In farms and slaughterhouses, workers and veterinarians are particularly exposed, as they may be in direct contact with sick animals (see Box 2 for an illustration). Fragility, conflict, and violence (FCV) can exacerbate risk, in terms of likelihood and impact. Migrants new to a geographic area may be immunologically naïve to endemic zoonotic diseases or they may inadvertently introduce exotic diseases; and refugees or internally displaced populations may have high population density with limited infrastructure, leaving them vulnerable to disease exposure. Factors such as lack of access to sanitation, hygiene, housing, and health and veterinary services may also affect disease prevalence, contributing to perpetuation of poverty in some populations. Risk assessment should identify populations at risk and prioritize vulnerable populations and circumstances where risks may be increased. It should be noted that activities that seem minor can still have major consequences. See Box 6 for an example illustrating how such small interventions in a project may have large-scale consequences. It highlights the need for risk assessment, even for simple livestock interventions and activities, and how this can help during the project cycle (from concept to implementation). ",
              "documentMetadata": {
                "uri": "gs://table_eval_set/pdf/worldbank/AnimalHealthGoodPracticeNote.pdf",
                "title": "AnimalHealthGoodPracticeNote"
              },
              "pageSpan": {
                "pageStart": 15,
                "pageEnd": 16
              }
            }
          ]
        }
      }
    }
  ],
  "totalSize": 61,
  "attributionToken": "jwHwjgoMCICPjbAGEISp2J0BEiQ2NjAzMmZhYS0wMDAwLTJjYzEtYWQxYS1hYzNlYjE0Mzc2MTQiB0dFTkVSSUMqUMLwnhXb7Ygtq8SKLa3Eii3d7Ygtj_enIqOAlyLm7Ygtt7eMLduPmiKN96cijr6dFcXL8xfdj5oi9-yILdSynRWCspoi-eyILYCymiLk7Ygt",
  "nextPageToken": "ANxYzNzQTMiV2MjFWLhFDZh1SMjNmMtADMwATL5EmZyMDM2YDJaMQv3yagQYAsciPgIwgExEgC",
  "guidedSearchResult": {},
  "summary": {}
}

다음 단계