Log in to leave a comment
No posts yet
수백 개의 PDF, PPT, Excel 파일을 RAG 시스템에 쑤셔 넣느라 매주 5시간씩 야근하고 있다면, 문제의 원인은 파편화된 파싱 라이브러리입니다. PyPDF2나 openpyxl을 섞어 쓰는 기존 구조는 코드 복잡도만 높입니다. 마이크로소프트의 MarkItDown을 도입하면 복잡한 분기 처리 로직을 걷어낼 수 있습니다.
파이프라인을 리팩토링할 때는 프로세서 팩토리 패턴을 쓰십시오.
이 구조는 파싱 엔진을 독립적으로 스케일링하게 만듭니다. 표 구조가 살아있으면 LLM이 문서를 읽을 때 표 보존 오류를 34% 줄입니다(Microsoft 2024 발표 기준).
임베딩 토큰 비용은 마크다운 파일의 길이에 직접 비례합니다. MarkItDown이 뽑아낸 결과물에는 LLM에 굳이 보낼 필요 없는 메타데이터나 노이즈가 섞여 있습니다. 이를 거르기만 해도 API 비용을 30% 줄일 수 있습니다.
효율적인 필터링 로직을 구축하십시오.
토큰 효율성을 챙기면 매달 나가는 엔터프라이즈 API 비용을 눈에 띄게 낮출 수 있습니다.
라이브러리 버전이 바뀌면 파싱 결과도 미세하게 틀어집니다. 엔지니어가 일일이 파일을 열어보며 수동 검증하는 짓은 그만두십시오. 스냅샷 테스트를 도입하면 품질 저하를 즉시 잡아낼 수 있습니다.
회귀 방지를 위한 단위 테스트 환경을 만드십시오.
이 자동화 체계는 매주 5시간씩 잡아먹던 수동 대조 작업을 없애줍니다.
수천 개의 문서를 순차적으로 처리하는 것은 시스템을 낭비하는 일입니다. concurrent.futures.ProcessPoolExecutor를 써서 배치 처리를 병렬화하면 며칠 걸리던 작업을 수 시간으로 끝낼 수 있습니다.
병렬화 아키텍처는 다음과 같이 구현하십시오.
이 방식은 데이터 최신성을 유지하면서도 시스템 자원을 효율적으로 쓰게 돕습니다.