Document Loader - 문서 로더

Document Loader
Document Loader는 LangChain에서 다양한 형식(JSON,PDF,CSV,HTML,VIDEO,....)의 파일로부터 데이터를 로드하여 자연어 처리 또는 검색 기반 AI 애플리케이션에서 활용 할 수 있는 데이터(Embedding Vector)로 변환 하는 역할을 합니다.
Document Loader 동작방식
로드할 데이터의 형식에 맞는 Loader를 준비합니다.
pdf파일에서 데이터를 가져오려면 PDFPlumberLoader
URL에서 html페이지를 가져오려면 WebBaseLoader
SQLDB에서 데이터를 가져오려면 SQLDatabaseLoader 등 종류에 맞춰서 준비
텍스트 전처리 및 변환
소스 문서에서 로드한 텍스트들 중 불필요한 태그, 띄어쓰기, 공백들을 제거한다.
텍스트가 아닌 형식의 파일(IMG, PDF 등)들을 텍스트 데이터로 변환한다.
Document Loader 실습
1) txt 파일 로드
from langchain_community.document_loaders import TextLoader
# 텍스트 파일 로드
loader = TextLoader("example.txt")
documents = loader.load()
# 로드된 문서 확인
print(documents)
2) pdf 로드
from langchain_community.document_loaders import PyPDFLoader
# PDF 문서 로드
loader = PyPDFLoader("document.pdf")
documents = loader.load()
# 출력
print(documents[0].page_content) # 첫 페이지 내용 출력
3) html 로드
from langchain_community.document_loaders import WebBaseLoader
import bs4
# 웹사이트 크롤링 후 텍스트 추출
loader = WebBaseLoader(web_paths=
("https://khedu.co.kr/main/main.kh",) ,
bs_kwargs=dict(
parse_only=bs4.SoupStrainer( #크롤링할 태그, 클래스 등 설정 가능
["section" , "div"]
)
),
header_template={
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.0.0 Safari/537.36",
},
)
loader.requests_kwargs = {"verify": False} # ssl인증 우회
documents = loader.load()
# 웹 페이지의 텍스트 출력
print(documents[0].page_content)
Last updated