n8n에서 Split Agent를 사용하여 문서를 분할합니다
한 번의 배치 스캔으로 입력되어 개별 문서가 출력됩니다: Split Agent는 한 문서가 끝나고 다음 문서가 시작되는 지점을 찾아 구분지를 제거하며 각 조각에 이름을 붙입니다. 먼저 실제 실행 결과를 보여드리고, 그 다음 n8n에서 네 단계로 빌드하는 과정을 설명드리겠습니다.
학습 내용
- 헤더 인증을 통해 웹훅으로 배치 스캔을 수신하고, 파일이 누락된 경우 명확한 오류 메시지로 응답합니다
- 단일 HTTP 호출로 배치를 Split Agent에 전송하고 범위를 선택합니다: Basic, Premium 또는 Ultra
- 결과를 기다렸다가 각 문서를 유형, 이름 및 페이지 정보가 포함된 개별 PDF로 받아옵니다
- 자신의 시스템에서 워크플로우를 호출하여 문서를 전달합니다. 예를 들어 IDP Agent로 전달할 수 있습니다
대본 숨기기 대본 보기 전체 대본
안녕하세요, PaperOffice AI 아카데미에 오신 것을 환영합니다. 이번 에피소드에서는 n8n에서 Split Agent을 처리하는 방법을 살펴보겠습니다: 배치 스캔이 입력되면 개별 문서가 출력됩니다.
결과 먼저 보기: 배치 스캔 입력, 문서 출력
먼저 결과를 살펴보겠습니다. 우편실에서의 배치 스캔은 총 7페이지이며, 그 사이에 구분용 시트가 포함되어 있습니다. Split Agent는 한 문서가 끝나고 다음 문서가 시작되는 지점을 인식합니다. 결과적으로 5개의 문서가 반환되며, 각 문서에는 유형, 설명적 이름 및 해당 페이지 정보가 포함됩니다. 이것이 n8n에서 어떻게 보이는지 확인해 보겠습니다. 테스트를 위해 편집기에서 워크플로우를 시작하여 배치 스캔을 웹훅으로 전송합니다. 이제 워크플로우가 노드별로 실행됩니다. 분할 작업은 PaperOffice로 전달되며, 루프는 작업이 완료될 때까지 계속 확인합니다. 약 40초 후 모든 과정이 완료됩니다. Pieces 노드에는 문서당 하나의 항목인 총 5개의 결과가 저장됩니다. 이 다섯 가지 문서는 구매 주문서, 납품서, 송장, 서비스 공지 및 검사 보고서입니다. 서비스 공지는 두 페이지로 구성되어 있으며 두 페이지는 함께 유지됩니다. Split Agent는 3페이지의 구분용 시트를 감지하여 제거했습니다. 또한 각 문서에는 설정한 규칙에 따라 설명적 이름이 부여됩니다. 각 조각은 별도의 PDF 파일입니다. 여기 서비스 공지가 있습니다: 두 페이지가 하나의 파일로 묶여 있으며, 규칙에 따라 이름이 지정되었습니다. 결과에는 다운로드 링크가 포함되지만 유효 기간이 짧습니다. 이제 더 어려운 두 번째 배치 예제를 살펴보겠습니다: 6페이지 분량이며 세 가지 언어로 작성되었습니다. 영어 구매 주문서, 스페인어 납품서 및 송장, 신용 계산서, 커피 얼룩이 있는 운송비 송장, 그리고 기울어진 상태로 촬영된 전화기 사진의 송장이 포함됩니다. Split Agent는 이 6개의 문서를 모두 분리하고 영어로 일관되게 이름 지어 줍니다. 이를 구축하는 방법은 네 단계로 나뉩니다: 입력, 분할 작업, 대기 및 결과(Pieces).
4단계 중 1단계: 입력
첫 번째 단계는 입력입니다. 헤더 인증이 포함된 웹훅을 통해 POST 방식으로 파일을 받습니다. 파일이 누락된 경우 워크플로우는 즉시 명확한 오류 메시지를 반환합니다. 파일 없이 요청하면 어떻게 될까요? 첨부 파일 없이 요청을 보내 보겠습니다. 워크플로우는 ‘파일 누락’ 노드를 통해 짧은 경로를 따라 이동하며 즉시 상태 400과 명확한 메시지로 응답합니다. 분할 작업이 생성되지 않으므로 비용도 발생하지 않습니다.
4단계 중 2단계: 분할 작업
2단계에서는 단일 HTTP 호출을 통해 PaperOffice API로 배치 데이터를 Split Agent에 전송합니다. 여기에는 분할 템플릿, Ultra 모델, 그리고 문서 유형, 날짜, 발신자를 기준으로 파일명을 지정하는 규칙이 포함됩니다. 모델 필드에서는 범위를 선택합니다. Basic은 경계를 감지하고 파일명을 지정합니다. Premium 또한 문서 유형, 날짜 및 발신자를 읽어옵니다. Ultra는 각 분할에 대한 이유를 추가로 제공하며 감사 추적(Audit Trail)을 생성합니다. 요금은 페이지 단위로 부과됩니다. 가격을 결정하는 두 가지 요소는 범위와 처리 레인입니다. 우리는 즉시 처리를 선택했으며, 이는 즉각적인 시작을 의미합니다. 시작 보장이 없고 SLA(서비스 수준 계약)가 없으면 요금이 더 저렴합니다. 현재 가격은 당사 웹사이트 가격 안내 페이지에서 확인하실 수 있습니다.
4단계 중 3단계: 대기 중
작업은 백그라운드에서 실행됩니다. 루프는 6초마다 상태를 확인합니다. 작업이 완료되면 실행이 계속 진행되며, 실패할 경우 메시지와 함께 실행이 종료됩니다.
4단계 중 4단계: 분할된 파일들
4단계에서는 응답이 문서별 항목으로 구성된 목록이 됩니다. 만약 구분지가 단독으로 반환되는 경우, 이 노드에서 이를 필터링하여 제거합니다. 마지막으로 웹훅은 정확히 이 목록을 응답합니다. 그 후 목록은 어떻게 처리될까요? 인박스 관련 메인 영상에서 보시다시피, 여기서 루프가 작동하여 각 문서가 개별적으로 IDP Agent로 전달되어 읽힌 후 Workspace에 분류됩니다. 이를 통해 분할 작업이 전체 워크플로우의 시작점이 됩니다.
직접 구축하기: 자격 증명 및 외부 호출
직접 구축하려면 두 가지 자격 증명이 필요하며, 둘 다 n8n에서 헤더 인증으로 사용됩니다. 웹훅용 키는 사용자께서 직접 선택하시고, 커스텀 헤더 이름을 지정하세요. PaperOffice의 경우, 계정 내 ‘API 및 개발자’ 메뉴에서 발급받은 API 키를 사용하며, 이는 Authorization 헤더에 입력됩니다. 외부에서는 웹훅 URL로 POST 요청을 보내 워크플로우를 호출합니다. 이때 파일 필드에 파일을 넣고, 헤더에 키를 포함시키면 됩니다. 이는 스크립트, 다른 프로그램 또는 두 번째 워크플로우가 될 수 있습니다. 반환되는 값은 다음 단계로 바로 사용할 수 있는 문서 목록입니다. 실무에서 얻은 세 가지 팁을 드립니다. 첫째: 구분용 시트가 필요하지 않습니다. Split Agent가 콘텐츠의 경계를 자동으로 감지합니다. 둘째: 명명 규칙은 ‘명령어’ 필드에 설정합니다(예: 날짜, 발신자, 문서 유형). 셋째: 파일 조각은 즉시 다운로드하거나 보관하세요. 링크는 짧은 시간 후 만료되기 때문입니다. 이것이 n8n의 Split Agent입니다: 웹훅, 호출, 루프 및 목록. PaperOffice에서는 업로드 시 직접 사용할 수도 있습니다. 인박스 관련 주요 영상에서는 개별 문서가 이후 어떻게 처리되는지 확인할 수 있습니다. 다음 시간까지 PaperOffice AI 아카데미에서 뵙겠습니다.