원천(4종 데이터) → 5단계 흐름 → 도구 선택(Unstructured·trafilatura) → 효율성 평가(5지표)
학부 4학년 마지막 학기에 사내 RAG 시스템을 위한 지식 베이스 구축 프로젝트에서 PDF·스프레드시트·웹 세 갈래 원천을 같이 다뤄본 경험이 있습니다.
원천 다양성 쪽으로는, 본인이 다룬 결은 'PDF(논문·매뉴얼) 1,400건·내부 위키 8만 페이지·구글 시트 320장·고객 CS 로그 12만 행'이었습니다. 각 원천은 결의 모양이 달라, 한 파이프라인으로 통일하는 결보다 '원천별 어댑터 + 공통 표준 스키마'로 묶는 결이 안전했습니다.
전처리 흐름 쪽으로는 5단계로 정리했습니다. 첫째, '원천별 추출(PDF는 Unstructured.io·시트는 openpyxl·웹은 trafilatura)'. 둘째, '공통 표준 JSON으로 정규화(title·content·source·published_at·section_path)'. 셋째, '청크 분할(token 기준 512·overlap 64)'. 넷째, '임베딩(OpenAI text-embedding-3-small)'. 다섯째, '벡터 DB(Pinecone) 적재 + 메타데이터 인덱스'.
도구 선택 이유 쪽으로는, 'Unstructured.io는 PDF의 표·이미지 영역까지 결을 보존'하는 결이라 매뉴얼 결에 강했고, 'trafilatura는 웹 보일러플레이트 제거가 가장 깔끔'한 결이었습니다. 임베딩 모델은 가성비와 정확도의 결을 봐서 small을 골랐습니다.
효율성 평가 쪽으로는, '추출 정확도(샘플 100건 수작업 비교)·청크 평균 토큰 수·임베딩 비용·RAG 답변의 응답 시간·답변 정확도(LLM-as-judge)' 다섯 지표를 분기 단위로 추적했습니다. 4주 끝에 RAG 응답 정확도 67% → 84%로 닫혔습니다.