Documents_loaders
langchain_community.document_loaders는 다양한 소스(텍스트 파일, PDF, 웹 페이지, 데이터베이스 등)에서 문서를 불러오는 기능을 제공합니다. 이 모듈은 RAG(Retrieval-Augmented Generation) 파이프라인에서 Indexing 단계에서 사용되며, 외부 문서를 벡터 저장소에 넣기 위해 필요합니다.
파일 기반 로더
- TextLoader → 일반 텍스트 파일(.txt) 로드
- CSVLoader → CSV 파일(.csv) 로드
- PDFPlumberLoader, PyMuPDFLoader, PDFMinerLoader → PDF 문서 로드
- Docx2txtLoader → MS Word 파일(.docx) 로드
- UnstructuredXMLLoader → XML 문서 로드
웹 및 API 기반 로더
- WebBaseLoader → 웹사이트 HTML 페이지 로드
- SitemapLoader → 웹사이트의 사이트맵을 분석하여 여러 페이지 로드
- WikipediaLoader → 위키백과 문서 로드
데이터베이스 및 클라우드 로더
- MongoDBLoader → MongoDB에서 데이터 로드
- BigQueryLoader → Google BigQuery에서 데이터 로드
1) 텍스트 파일 로드
from langchain_community.document_loaders import TextLoader
# 텍스트 파일 로드
loader = TextLoader("example.txt")
docs = loader.load()
# 로드된 문서 출력
for doc in docs:
print(doc.page_content)
2) PDF파일 로드
from langchain_community.document_loaders import PyMuPDFLoader
# PDF 파일 로드
loader = PyMuPDFLoader("example.pdf")
docs = loader.load()
# 첫 번째 페이지 출력
print(docs[0].page_content)
3) 웹사이트 크롤링 데이터 로드
from langchain_community.document_loaders import WebBaseLoader
# 특정 웹사이트에서 문서 가져오기
loader = WebBaseLoader("https://en.wikipedia.org/wiki/Natural_language_processing")
docs = loader.load()
# 크롤링한 데이터 출력
print(docs[0].page_content[:500]) # 첫 500자만 출력
4) CSV파일 로드
from langchain_community.document_loaders import CSVLoader
# CSV 파일 로드
loader = CSVLoader("data.csv")
docs = loader.load()
# 첫 번째 데이터 출력
print(docs[0].page_content)
디렉토리를 한꺼번에 로드할 경우에는 DirectoryLoader를 사용할 수 있습니다.
from langchain_community.document_loaders import DirectoryLoader
loader = DirectoryLoader('../dataset/llm_data', glob="*", show_progress=True)
docs = loader.load()
glob argument를 통해서 데이터를 필터링해서 가져올 수도 있습니다. (현재는 모든 데이터로 설정)
'Data & Research' 카테고리의 다른 글
[LLM & RAG] Langchain 기초 - Embedding/저장 (0) | 2025.04.01 |
---|---|
[LLM & RAG] Langchain 기초 - Splitter (0) | 2025.04.01 |
[LLM & RAG] RAG Procedure (0) | 2025.04.01 |
[LLM & RAG] Vector Database (0) | 2025.04.01 |
[ML & DL 기초] Table of Contents (1) | 2025.03.15 |