# S3

S3 노드는 Amazon S3에 저장된 단일 파일을 Unstructured API와 연동하여 텍스트로 변환하고, 문서 객체(Document)로 출력합니다. OCR, 레이아웃 분석, Chunking 등 고급 전처리 옵션을 활용하여 정교한 문서 파싱이 가능합니다.

***

### 주요 기능&#x20;

* 지정한 S3 버킷의 개별 파일을 불러와 텍스트로 변환
* Unstructured API와 연동하여 문서 유형에 따른 자동 파싱
* OCR 및 고해상도 모델을 통한 레이아웃 기반 분석 지원
* Chunk 단위 분할, 태그 유지, 페이지 구분 등 세밀한 전처리 옵션 제공

<div><figure><img src="https://2658622170-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FfkjMyYilRWTdXwhLDYHx%2Fuploads%2Fgit-blob-88da58a93dea9f4f9ad7eb88c4770a8e8a5392a4%2Fimage%20(25).png?alt=media" alt=""><figcaption><p>WindyFlo S3</p></figcaption></figure> <figure><img src="https://2658622170-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FfkjMyYilRWTdXwhLDYHx%2Fuploads%2Fgit-blob-74d3d6f88ad7ebb67565431c2afcee0dbce6166f%2Fimage%20(27).png?alt=media" alt=""><figcaption><p>WindyFlo S3 Parameters</p></figcaption></figure> <figure><img src="https://2658622170-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FfkjMyYilRWTdXwhLDYHx%2Fuploads%2Fgit-blob-79c30e356b2acd62bb0d7f53d8d9fa6e50d8f60b%2Fimage%20(28).png?alt=media" alt=""><figcaption><p>WindyFlo S3 Parameters</p></figcaption></figure></div>

### 입력값 (Inputs)

| 항목                   | 설명                                   | 필수 여부 |
| -------------------- | ------------------------------------ | ----- |
| AWS Credential       | S3 접근용 인증 정보 (Credential에 등록)        | 필수    |
| Bucket               | 대상 S3 버킷 이름                          | 필수    |
| Object Key           | 대상 파일 경로 및 이름 (예: `doc/sample.pdf`)  | 필수    |
| Region               | 버킷 리전 (예: `us-east-1`)               | 필수    |
| Unstructured API URL | 문서 분석을 위한 Unstructured API 서버 주소     | 필수    |
| Unstructured API KEY | Unstructured API 인증 키                | 필수    |
| Text Splitter        | 분석된 텍스트를 분할하는 데 사용할 Text Splitter 노드 | 선택    |

***

### 파라미터 (Parameters)

| 항목                     | 설명                                    |
| ---------------------- | ------------------------------------- |
| Strategy               | 문서 추출 전략 (Auto, Hi-Res, Fast 등)       |
| Encoding               | 문서 인코딩 방식 (예: `utf-8`)                |
| Skip Infer Table Types | 표 추론을 건너뛸 파일 타입 (jpg, png, pdf 등)     |
| Hi-Res Model Name      | 고해상도 모델 선택 (예: `detectron2_onnx`)     |
| Chunking Strategy      | 텍스트 분할 기준 (예: By Title, By Element 등) |
| OCR Languages          | OCR 분석에 사용할 언어 (예: eng, kor 등)        |
| Source ID Key          | 문서 출처 메타데이터 키 이름                      |
| Coordinates            | 각 텍스트 블록의 좌표 정보 포함 여부                 |
| XML Keep Tags          | XML 태그 유지 여부                          |
| Include Page Breaks    | 페이지 구분 태그 삽입 여부                       |
| Multi-Page Sections    | 멀티페이지 섹션 병합 처리 여부                     |
| Combine Under N Chars  | 지정 길이 이하 텍스트 병합 기준 (문자 수)             |
| New After N Chars      | 지정 길이 이후 텍스트 분할 기준 (문자 수)             |
| Max Characters         | Chunk 당 최대 문자 수 (기본값: 500)            |
| Additional Metadata    | 삽입할 커스텀 메타데이터 (JSON)                  |
| Omit Metadata Keys     | 제거할 메타데이터 키 (쉼표로 구분)                  |

***

### 출력값 (Outputs)

| 출력 항목    | 설명                                         |
| -------- | ------------------------------------------ |
| Document | Unstructured API 분석 결과를 기반으로 생성된 문서 객체 리스트 |
| Text     | 전체 pageContent를 병합한 텍스트 문자열                |

***

### 활용 예시

* 스캔 기반 PDF를 OCR 분석하여 텍스트로 추출 및 요약
* 정형 리포트 문서를 섹션별로 분할 후 검색 기반 AI 응답에 활용
* 다양한 언어의 계약서, 정책 문서 등을 구조화하여 비교 분석

***

### 사용 팁

* `Strategy`를 `Auto`로 설정하면 파일 유형에 따라 최적 추출 방식 자동 적용
* OCR 기반 추출 정확도를 높이려면 `Hi-Res Model`과 `OCR Language`를 함께 설정
* Text Splitter와 함께 사용하면 과도한 길이 문제를 방지하고 처리 안정성 향상

***

### 주의사항

* Unstructured API 서버 주소 및 키 입력이 누락되면 문서 분석이 실행되지 않음
* 일부 이미지 기반 PDF는 정확한 텍스트 추출을 위해 OCR 옵션 필수
* 병합/분할 기준이 과도하게 설정되면 응답 누락 또는 과분할 가능성 있음
