1. PDF Loader 개요
- 역할: PDF 파일을 Flowise에 불러와 Document 객체로 변환.
- 활용 단계: Loader → Text Splitter → Embedding → Vector Store 업서트
2. 처리 모드 (Processing Modes)
| 모드 | 설명 | 장점 | 단점 | 활용 추천 |
| Per Page | 각 PDF 페이지를 개별 문서로 처리 | 페이지 기반 검색 및 페이지 번호 메타데이터 활용 가능 | 페이지 간 문맥 단절 | 규정집, 매뉴얼, 보고서 등 페이지별 검색이 필요한 문서 |
| Per File | PDF 전체를 하나의 문서로 로딩 | 문맥 유지, 단순한 관리 | 긴 문서의 경우 검색 정확도 저하 | 짧은 리포트, 단일 주제 문서 |
3. Text Splitter & 토큰 개념
PDF Loader는 단순히 텍스트를 추출하므로
검색 정확도는 Splitter 설정과 임베딩 품질에 달려 있습니다.
(1) 주요 Splitter 방식
| Splitter | 기준 | 특징 |
| Character Text Splitter | 일정 문자 수 기준 | 단순하지만 문장 중간에서 끊길 수 있음 |
| Token Text Splitter | 모델이 인식하는 토큰 수 기준 | 모델 입력 단위와 일치하여 정밀함 |
| Recursive Character Splitter | 문단→줄바꿈→공백 순서로 자연스럽게 분할 | 문맥 보존에 가장 유리 (Flowise 기본값) |
(2) 토큰(Token) 개념
- 토큰: LLM이 처리하는 최소 단위(단어, 부호, 공백 등 포함).
- 예시 (
text-embedding-3-small 기준 / cl100k_base 토크나이저): "robot" → 1토큰"안전" → 2토큰"로봇" → 2토큰- chunk size: 한 덩어리의 최대 토큰/문자 길이
- chunk overlap: 청크 간 겹치는 구간(보통 10–20%) → 문맥 연결 보존용
4. Chunk Size & Overlap 설정 가이드
| 문서 유형 | Chunk Size | Overlap | Splitter 권장 |
| 일반 보고서 / 논문 | 800–1000 tokens | 150–200 tokens | Recursive |
| 코드 / 수식 / 표 많은 문서 | 400–600 tokens | 80–120 tokens | Token |
| 대화형 / QA 문서 | 1000–1200 chars | 150–200 chars | Recursive |
Tip: Overlap이 너무 크면 정확도 향상 효과는 미미하고 토큰 비용만 증가하므로 10~15% 선 유지 권장.
5. OpenAI 임베딩 모델 (text-embedding-3-small)
| 항목 | 내용 |
| 차원 수 | 1536 |
| 최대 입력 길이 | 8,191 tokens |
| 토크나이저 | cl100k_base |
| 비용 | $0.02 / 1M tokens (배치 시 $0.01) |
| 권장 활용 | RAG, 문서 검색, 벡터 DB 저장용 임베딩 |
6. 추천 세팅 예시
| 문서 유형 | Loader | Splitter | Chunk Size / Overlap |
| 한국어 매뉴얼 / 규정집 (긴 문서) | Per Page | Recursive | 1000 tokens / 150 |
| 코드·표 포함 기술 문서 | Per Page | Token | 500 tokens / 100 |
| 짧은 보고서 / 단일 주제 문서 | Per File | Recursive | 800 tokens / 120 |