Layout Parser로 문서 처리
레이아웃 파서는 텍스트, 표, 목록과 같은 문서 콘텐츠 요소를 추출하고 생성형 AI 및 탐색 애플리케이션에서 정보 검색을 용이하게 하는 컨텍스트 인식 청크를 만듭니다.
레이아웃 파서 기능
문서 레이아웃을 파싱합니다. 레이아웃 파서에 HTML 또는 PDF 파일을 입력하여 텍스트 블록, 표, 목록과 같은 콘텐츠 요소와 제목, 머리글과 같은 구조적 요소를 식별할 수 있습니다. 이러한 요소는 정보 검색 및 탐색을 위한 더 많은 컨텍스트를 만들 수 있는 풍부한 콘텐츠와 구조적 요소로 문서의 구성 및 계층 구조를 정의하는 데 도움이 됩니다.
문서를 청크 처리합니다. Layout Parser는 문서를 원본 문서의 레이아웃 계층 구조에 관한 문맥 정보를 유지하는 청크로 분할할 수 있습니다. 대답을 생성하는 LLM은 청크를 사용하여 관련성을 개선하고 계산 부하를 줄일 수 있습니다.
청크 처리 중에 문서의 레이아웃을 고려하면 검색 및 LLM 생성에 사용할 때 콘텐츠의 시맨틱 일관성이 개선되고 노이즈가 줄어듭니다. 청크의 모든 텍스트는 제목, 부제목, 목록과 같은 동일한 레이아웃 항목에서 가져옵니다.
제한사항
다음과 같은 제한사항이 적용됩니다.
- 온라인 처리:
- 모든 파일 형식의 입력 파일 크기는 최대 20MB입니다.
- PDF 파일당 최대 15페이지
- 일괄 처리:
- PDF 파일의 최대 단일 파일 크기는 40MB입니다.
- PDF 파일당 최대 500페이지
파일 형식별 레이아웃 감지
다음 표에는 Layout Parser가 문서 파일 유형별로 감지할 수 있는 요소가 나와 있습니다.
파일 형식 | 감지된 요소 | 제한사항 |
---|---|---|
HTML | 단락, 표, 목록, 제목, 제목, 페이지 머리글, 페이지 바닥글 | 파싱은 HTML 태그에 크게 의존하므로 CSS 기반 형식이 캡처되지 않을 수 있습니다. |
단락, 표, 제목, 제목, 페이지 머리글, 페이지 바닥글 | 여러 페이지에 걸쳐 있는 표는 두 개의 테이블로 분할될 수 있습니다. | |
DOCX(미리보기) | 단락, 여러 페이지의 표, 목록, 제목, 제목 요소 | 중첩된 테이블은 지원되지 않습니다. |
PPTX(미리보기) | 단락, 표, 목록, 제목, 제목 요소 | 제목을 정확하게 식별하려면 PowerPoint 파일 내에서 제목으로 표시해야 합니다. 중첩된 표와 숨겨진 슬라이드는 지원되지 않습니다. |
XLSX/XLSM (미리보기) | INT , FLOAT , STRING 값을 지원하는 Excel 스프레드시트 내 테이블 |
여러 테이블 감지는 지원되지 않습니다. 숨겨진 시트, 행 또는 열도 감지에 영향을 줄 수 있습니다. |
시작하기 전에
레이아웃 파서를 사용 설정하려면 다음 단계를 따르세요.
프로세서 만들기 및 관리의 안내에 따라 레이아웃 파서를 만듭니다.
프로세서 유형 이름은
LAYOUT_PARSER_PROCESSOR
입니다.프로세서 사용 설정의 안내에 따라 Layout Parser를 사용 설정합니다.
Layout Parser를 사용하여 온라인 프로세스 요청 전송
Layout Parser에 문서를 입력하여 파싱하고 청크 처리합니다.
처리 요청 보내기에서 일괄 처리 요청에 관한 안내를 따릅니다.
ProcessDocumentRequest
의ProcessOptions.layoutConfig
에서 필드를 구성합니다.요청 데이터를 사용하기 전에 다음을 바꿉니다.
- LOCATION: 프로세서의 위치입니다(예:
us
- 미국eu
- 유럽 연합
- PROJECT_ID: Google Cloud 프로젝트 ID입니다.
- PROCESSOR_ID: 맞춤 프로세서의 ID입니다.
- MIME_TYPE: 레이아웃 파서는
application/pdf
및text/html
를 지원합니다. - DOCUMENT: 청크로 분할할 콘텐츠입니다. Layout Parser는 원시 PDF 또는 HTML 문서 또는 Layout Parser에서 출력한 파싱된 문서를 허용합니다.
- CHUNK_SIZE: 선택사항. 문서를 분할할 때 사용할 청크 크기(토큰)입니다.
- INCLUDE_ANCESTOR_HEADINGS: 선택사항. 부울. 문서를 분할할 때 상위 제목을 포함할지 여부입니다.
HTTP 메서드 및 URL:
POST https://
LOCATION -documentai.googleapis.com/v1/projects/PROJECT_ID /locations/LOCATION /processors/PROCESSOR_ID :processJSON 요청 본문:
// Sample for inputting raw documents such as PDF or HTML { "rawDocument": { "mimeType": "
MIME_TYPE ", "content": "DOCUMENT " }, "processOptions": { "layoutConfig": { "chunkingConfig": { "chunkSize": "CHUNK_SIZE ", "includeAncestorHeadings": "INCLUDE_ANCESTOR_HEADINGS ", } } } }요청을 보내려면 다음 옵션 중 하나를 선택합니다.
요청 본문을
request.json
파일에 저장하고 다음 명령어를 실행합니다.curl -X POST \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION -documentai.googleapis.com/v1/projects/PROJECT_ID /locations/LOCATION /processors/PROCESSOR_ID :process"요청 본문을
request.json
파일에 저장하고 다음 명령어를 실행합니다.$headers = @{ }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION -documentai.googleapis.com/v1/projects/PROJECT_ID /locations/LOCATION /processors/PROCESSOR_ID :process" | Select-Object -Expand ContentDocument.documentLayout
및Document.chunkedDocument
로 포함된 처리된 문서가 포함됩니다.자세한 내용은 Document AI Python API 참조 문서를 참고하세요.
Document AI에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
- LOCATION: 프로세서의 위치입니다(예:
Layout Parser로 문서 일괄 처리
다음 절차에 따라 단일 요청에서 여러 문서를 파싱하고 청크 처리합니다.
Layout Parser에 문서를 입력하여 파싱하고 청크 처리합니다.
처리 요청 보내기에서 일괄 처리 요청에 관한 안내를 따릅니다.
batchProcess
요청을 할 때ProcessOptions.layoutConfig
에서 필드를 구성합니다.다음 JSON 예에서는
ProcessOptions.layoutConfig
를 구성합니다."processOptions": { "layoutConfig": { "chunkingConfig": { "chunkSize": "
CHUNK_SIZE ", "includeAncestorHeadings": "INCLUDE_ANCESTOR_HEADINGS_BOOLEAN " } } }다음을 바꿉니다.
CHUNK_SIZE
: 문서를 분할할 때 사용할 최대 청크 크기(토큰 수)입니다.INCLUDE_ANCESTOR_HEADINGS_BOOLEAN
: 문서를 분할할 때 상위 제목을 포함할지 여부입니다. 상위 제목은 원본 문서의 하위 제목의 상위 요소입니다. 원본 문서에서의 위치에 관한 추가 컨텍스트를 청크에 제공할 수 있습니다. 청크에는 최대 2단계의 제목을 포함할 수 있습니다.
다음 단계
- 프로세서 목록을 검토합니다.
- 커스텀 분류기를 만듭니다.
- Enterprise Document OCR을 사용하여 텍스트를 감지하고 추출합니다.