6차시. 문서 로딩 실습
8. 실습 ⑤ — 폴더 전체 읽기
출처: 원본 PDF 06차시_문서로딩실습.pdf 16쪽 · 쪽 그림 16쪽
실무에서는 파일 하나가 아니라 폴더 전체를 다루는 경우가 많습니다.
from langchain_community.document_loaders import (
DirectoryLoader, PyPDFLoader
)
loader = DirectoryLoader(
"data/", # 대상 폴더
glob="**/*.pdf", # 하위 폴더까지 모든 PDF
loader_cls=PyPDFLoader, # 각 파일에 쓸 로더
)
docs = loader.load()
print("총 Document 수 :", len(docs))
# 파일별로 몇 쪽씩 읽혔는지 직접 세어보기
count = {}
for d in docs:
name = d.metadata["source"]
count[name] = count.get(name, 0) + 1
for name, n in count.items():
print(f" {name} : {n}쪽")실행 결과 예시 (코드를 읽고 만든 예상 화면입니다. 실제 실행 결과, 특히 모델의 답은 다를 수 있습니다)
총 Document 수 : 19
data\01_도서관_이용안내.pdf : 3쪽
data\02_회의실_대관안내.pdf : 3쪽
data\03_무선마우스_사용설명서.pdf : 3쪽
data\04_캠핑장_이용안내.pdf : 3쪽
data\05_교육프로그램_모집안내.pdf : 3쪽
data\manual.pdf : 3쪽
data\notice.pdf : 1쪽⚠️ 폴더 로딩 시 주의사항
① 파일 하나가 깨지면 전체가 멈출 수 있습니다
silent_errors=True 옵션을 주면 문제 파일을 건너뜁니다.
② 파일이 많으면 시간이 오래 걸립니다
처음에는 파일 2~3개로 테스트한 뒤 늘리세요.
③ 형식이 섞여 있으면 로더를 나눠 실행하세요
PDF는 PDF끼리, TXT는 TXT끼리 읽고 나중에 합칩니다.