6차시. 문서 로딩 실습
6. 실습 ③ — 로딩 결과 검증하기
출처: 원본 PDF 06차시_문서로딩실습.pdf 12~13쪽 · 쪽 그림 12쪽 13쪽
이번 차시에서 가장 중요한 부분입니다. 문서를 읽었다고 끝이 아닙니다. 제대로 읽혔는지 반 드시 확인해야 합니다.
6-1) 검증이 필요한 이유
🔍 스캔 PDF 함정
회사에서 받은 PDF를 열어보면
분명히 글자가 잘 보입니다.
그래서 그냥 읽어서 RAG를 만들었는데
아무리 물어봐도 "자료에 없습니다"만 나옵니다.
왜 그럴까요?
그 PDF는 종이를 스캔한 사진이었기 때문입니다.
사람 눈에는 글자로 보이지만,
컴퓨터에게는 그냥 이미지입니다.
→ page_content가 텅 비어 있습니다
→ 검증하지 않으면 이걸 며칠 뒤에야 발견합니다
6-2) 검증 코드
📝 src/validate_load.py
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자면 뭔가 잘못된 것입니다.
③ 실제로 눈으로 읽어봤는가?
가장 확실한 방법입니다.
자동 검사가 통과해도 반드시 직접 읽어보세요.