Document Loader
Document loader 는 RAG를 구현할 때, 파이썬 외부 파일을 들고오는 모듈이다.
내부 패키지로는 WebBaseLoader, PyPdfLoader,
WebBaseLoader
웹페이지 url 내의 텍스트 컨텐츠를 들고 오는 역할을 한다.
# WebBaseLoader
from langchain.document_loaders import WebBaseLoader
urls = ['https://www.youtube.com/watch?v=tIU2tw3PMUE&list=PLQIgLu3Wf-q_Ne8vv-ZXuJ4mztHJaQb_v&index=5',
'https://www.youtube.com/watch?v=tIU2tw3PMUE&list=PLQIgLu3Wf-q_Ne8vv-ZXuJ4mztHJaQb_v&index=5']
loader = WebBaseLoader(urls)
data = loader.load()
print(data[0].page_content)
PyPDFLoader
PyPDFLoader 를 사용하기 위해선 PyPDF 모듈이 필요하여 미리 설치한다.
!pip install pypdf
PyPDFLoader(path) 로 경로의 파일을 들고온 후 load_and_split() 함수로 페이지를 구분한다. 이 때, data는 list 형태로, 페이지 수는 list의 사이즈와 같다.
# PyPDFLoader
from langchain.document_loaders import PyPDFLoader
path='파일경로.pdf'
loader = PyPDFLoader(path)
data = loader.load_and_split()
print(data[0].page_content)
Docx2txtLoader
Docx2txtLoader 를 사용하기 위해선 Docx2txt 모듈이 필요하여 미리 설치한다.
!pip install docx2txt
Docx2txtLoader(path) 로 경로의 파일을 들고온 후 load_and_split() 함수로 페이지를 구분한다. 이 때, data는 list 형태로, 페이지 수는 list의 사이즈와 같다.
from langchain.document_loaders import Docx2txtLoader
path = '파일 경로.docx'
loader = Docx2txtLoader(path)
data = loader.load_and_split()
print(f"페이지 수 : {len(data)}")
print(data[0].page_content)