6차시. 문서 로딩 실습
2. Document 객체 — 모든 것의 기본 단위
출처: 원본 PDF 06차시_문서로딩실습.pdf 5~6쪽 · 쪽 그림 5쪽 6쪽
LangChain에서 문서를 읽으면, 어떤 형식이든 Document 객체의 목록이 나옵니다. 이 구조를 이해하는 것이 오늘의 가장 중요한 부분입니다.
📦 Document는 두 칸짜리 상자입니다
┌─────────────────────────────┐
│ Document │
│ │
│ page_content ──▶ "실제 글자" │
│ metadata ──▶ {출처 정보} │
└─────────────────────────────┘
page_content = 본문
앞으로 분할하고, 임베딩하고, LLM에 넘길 대상입니다.
metadata = 꼬리표
"이 글자가 어느 파일 몇 페이지에서 왔는지"를 적어둡니다.
2-1) metadata가 왜 중요한가
초보자들이 가장 많이 지나치는 부분이 metadata입니다. 하지만 실무에서는 이것이 없으면 RAG를 쓸 수 없습니다.
💡 metadata가 없을 때 vs 있을 때
❌ metadata 없이 답변하면
"환불은 7일 이내에 신청하셔야 합니다."
→ 사용자: "그거 어디에 나온 얘기예요?"
→ 시스템: "..." (모릅니다)
→ 신뢰할 수 없는 시스템이 됩니다
✅ metadata가 있으면
"환불은 7일 이내에 신청하셔야 합니다.
(출처: 이용약관.pdf 12페이지)"
→ 사용자가 직접 원문을 확인할 수 있습니다
→ 틀렸을 때 어디를 고칠지 알 수 있습니다
→ 실무에서 쓸 수 있는 시스템이 됩니다
그래서 오늘 로딩 단계에서 metadata를 반드시 확인하고, 필요하면 직접 정보를 추가해두어야 합니다.