6차시. 문서 로딩 실습
이번 차시에서 배우는 것
출처: 원본 PDF 06차시_문서로딩실습.pdf 1쪽 · 쪽 그림 1쪽
문서 로딩 실습 — RAG의 첫 관문
✓ 문서 로딩(Ingestion)이 RAG에서 왜 첫 단추인지 이해한다
✓ TXT · PDF · Markdown 문서를 직접 불러온다
✓ Document 객체의 구조(page_content, metadata)를 완전히 이해한다 ✓ metadata를 활용해 답변에 출처를 붙일 준비를 한다
✓ 로딩 결과가 제대로 됐는지 검증하는 방법을 익힌다
✓ 한글 깨짐 · 스캔 PDF 같은 실전 문제를 해결한다
교안 해설: 이 시간에 하는 일
출처: 교안 06_문서로딩실습.md
로딩은 RAG의 첫 단계입니다. 여기서 글자가 깨지면 분할과 검색은 그 깨진 문자열을 그대로 씁니다. 한글 TXT는 encoding="utf-8"이 필요합니다. PDF는 페이지마다 Document가 생기고, metadata에 page가 붙습니다.
스캔본 PDF는 사람이 보기에는 글자가 있지만 page_content가 거의 비어 있습니다. validate.py는 너무 짧은 페이지를 경고합니다. 실습용 notice.pdf는 짧은 페이지가 없어 출력이 없을 수 있습니다. 출력이 없는 것도 결과입니다.
ingest.py는 반복되는 머리글 같은 잡음을 지우고, 파일명과 페이지 번호를 사람이 읽기 쉬운 metadata로 보강합니다. 출처를 답에 쓰려면 이 꼬리표가 있어야 합니다.
강의 PPT 흐름
출처: 강의 PPT 06차시_문서로딩실습.pptx (23장)
| 장 | 꼬리표 | 슬라이드 제목 |
|---|---|---|
| 1 | - | 실습으로 배우는 LangGraph : 내 손으로 RAG 시스템 만들기 |
| 2 | LEARNING GOALS | 이번 차시에서 배우는 것 |
| 3 | WHERE WE ARE | 오늘 배우는 곳은 RAG 5단계의 맨 앞입니다 |
| 4 | WHY IT MATTERS | 왜 하필 첫 단계에 시간을 쓸까? |
| 5 | REAL PROBLEMS | 로딩을 대충 하면 벌어지는 일 |
| 6 | ROOT CAUSE | 이 문제는 나중 단계에서 고칠 수 없습니다 |
| 7 | KEY TERMS | 핵심 용어 |
| 8 | CORE CONCEPT | Document — 모든 것의 기본 단위 |
| 9 | WHY METADATA | metadata가 없을 때 vs 있을 때 |
| 10 | LOADERS | 문서 형식별 로더 |
| 11 | IMPORTANT DIFFERENCE | TXT와 PDF는 Document 개수가 다릅니다 |
| 12 | THE TRAP | 스캔 PDF 함정 — 왜 검증이 필요한가 |
| 13 | VALIDATION | 읽었으면 반드시 확인합니다 — 세 가지 점검 |
| 14 | ENRICHMENT | metadata 다듬기 — 무엇을 더 붙이고, 어디에 쓰나 |
| 15 | CLEANING | 반복되는 잡음은 로딩 직후에 지웁니다 |
| 16 | AT SCALE | 폴더 전체를 읽을 때 주의할 점 |
| 17 | TROUBLESHOOTING | 자주 겪는 문제와 해결법 |
| 18 | OCR | 스캔 PDF를 만났다면 — 세 가지 선택지 |
| 19 | TODAY'S OUTPUT | 오늘의 결과물 — 읽기 · 정리 · 검증을 하나로 |
| 20 | CHECKLIST | 이번 차시 체크리스트 |
| 21 | ASSIGNMENT | 이번 차시 과제 |
| 22 | NEXT | 다음 차시 미리보기 — 7차시 텍스트 분할 |
| 23 | - | 마무리 |