RAG2026-5일6차시 · 문서 로딩 실습9 / 19← 이전목차다음 →MetaContents

6차시. 문서 로딩 실습

6. 실습 ③ — 로딩 결과 검증하기

출처: 원본 PDF 06차시_문서로딩실습.pdf 12~13쪽 · 쪽 그림 12쪽 13쪽

이번 차시에서 가장 중요한 부분입니다. 문서를 읽었다고 끝이 아닙니다. 제대로 읽혔는지 반 드시 확인해야 합니다.

6-1) 검증이 필요한 이유

🔍 스캔 PDF 함정
회사에서 받은 PDF를 열어보면
분명히 글자가 잘 보입니다.
그래서 그냥 읽어서 RAG를 만들었는데
아무리 물어봐도 "자료에 없습니다"만 나옵니다.
왜 그럴까요?
그 PDF는 종이를 스캔한 사진이었기 때문입니다.
사람 눈에는 글자로 보이지만,
컴퓨터에게는 그냥 이미지입니다.
→ page_content가 텅 비어 있습니다
→ 검증하지 않으면 이걸 며칠 뒤에야 발견합니다

6-2) 검증 코드

📝 src/validate_load.py

Python
def validate(docs):
    print("=" * 45)
    print("문서 개수 :", len(docs))
    # ① 빈 페이지 점검 (내용 없으면 스캔본 의심)
    empty_pages = []
    for d in docs:
        text = d.page_content.strip()
        if len(text) < 10:
            empty_pages.append(d.metadata.get("page", "?"))
    if empty_pages:
        print("⚠ 내용이 거의 없는 페이지 :", empty_pages)
        print("  → 스캔 PDF일 수 있습니다.")
    else:
        print("✓ 빈 페이지 없음")

    # ② 전체 글자 수 (너무 적으면 의심)
    total_len = 0
    for d in docs:
        total_len += len(d.page_content)
    print("전체 글자 수 :", total_len)

    # ③ 실제 내용을 눈으로 확인 (가장 중요!)
    print("-" * 45)
    print("첫 페이지 내용 :", docs[0].page_content[:200])
    print("=" * 45)

validate(docs)

실행 결과 예시 (코드를 읽고 만든 예상 화면입니다. 실제 실행 결과, 특히 모델의 답은 다를 수 있습니다)

출력
=============================================
문서 개수 : 3
✓ 빈 페이지 없음
전체 글자 수 : 1529
---------------------------------------------
첫 페이지 내용 : 1
제품 사용 설명서
가정용 공기청정기 AP-3300
목차
1. 제품 개요
2. 설치 방법
3. 사용 방법
4. 환불 및 교환 규정
5. 보증 및 무상 A/S
6. 문제 해결(FAQ)
7. 고객센터 안내
8. 제품 사양
9. 품질보증서
=============================================

💡 세 가지 검증 항목
① 빈 페이지가 있는가?
있다면 스캔 PDF를 의심합니다.
② 글자 수가 상식적인가?
12페이지 문서인데 전체 300자면 뭔가 잘못된 것입니다.
③ 실제로 눈으로 읽어봤는가?
가장 확실한 방법입니다.
자동 검사가 통과해도 반드시 직접 읽어보세요.

← 이전 절6차시 · 5. 실습 ② — PDF 읽기다음 절 →6차시 · 7. 실습 ④ — metadata 다듬기