LangChain에 데이터를 넣기 전 어떤 문서 파싱 파이프라인을 사용하시나요?
What’s your document parsing pipeline before feeding data into LangChain?
핵심 요약
RAG 성능 향상을 위해 문서 구조를 최대한 보존하는 Markdown 기반 파싱 파이프라인에 대한 논의입니다.
- 문서 파싱 문제 — 기존 파서들이 표, 리스트, 이미지 등 문서 구조를 손실함
- Markdown 접근법 — 청킹 전 구조를 보존하여 검색 품질을 개선함
- 파싱 도구 비교 — Docling, Marker, MarkItDown, MinerU 등 다양한 도구 논의
- 구현 전략 — 페이지 번호와 메타데이터를 활용한 청킹 방식 고민
LangChain으로 RAG를 구현하기 전에 다양한 문서 파싱 파이프라인을 실험 중입니다.
계속해서 겪는 문제 중 하나는 많은 파서가 변환 과정에서 구조를 잃어버린다는 점입니다.
예를 들면:
- 표가 일반 텍스트가 됨
- 리스트의 계층 구조가 사라짐
- 코드 블록이 깨짐
- 헤더가 일관성을 잃음
- 이미지가 사라짐
- 각주가 누락됨
현재는 청킹 전에 문서 구조를 최대한 보존하는 Markdown 우선 접근 방식을 시도하고 있습니다.
아이디어는 다음과 같습니다:
PDF / DOCX / PPTX
↓
구조화된 Markdown
↓
메타데이터 (페이지 번호, 헤딩)
↓
청킹
↓
임베딩
↓
LangChain 검색
임의의 토큰 수 대신 문서 구조에 따라 청크 경계가 결정되므로 초기 검색 품질이 눈에 띄게 좋아 보입니다.
다른 분들은 무엇을 사용하시는지 궁금합니다.
- Docling?
- Marker?
- MarkItDown?
- MinerU?
- 그 외 다른 것?
여러분의 RAG 파이프라인에서 효과가 있었던(혹은 실패했던) 방식이 있다면 공유 부탁드립니다.

