Document Loader | 기반 라이브러리/기술 | 주요 특징 | 적합한 사용 사례 | 장점 | 단점 |
---|---|---|---|---|---|
✅ PDF Loaders | |||||
PyPDFLoader | PyPDF2 | 기본적인 PDF 파싱 | 단순한 텍스트 추출 | - 간단한 설정 |
LangChain은 다양한 SQL 데이터베이스에 연결하는 로더를 제공합니다:
SQLDatabaseLoader
지원 데이터베이스: PostgreSQL, MySQL, SQLite, Oracle, MS SQL Server 등
특징:
사용 예:
from langchain.document_loaders import SQLDatabaseLoader
loader = SQLDatabaseLoader(
"postgresql://username:password@localhost:5432/dbname",
"SELECT * FROM users"
)
documents = loader.load()
증분 로딩 기능
데이터베이스 문맥 활용
MongoDBLoader
MongoDB 컬렉션에서 문서 로드
특징:
사용 예:
from langchain.document_loaders import MongoDBLoader
loader = MongoDBLoader(
connection_string="mongodb://localhost:27017/",
db_name="your_db",
collection_name="your_collection"
)
documents = loader.load()
ElasticsearchLoader
Elasticsearch 인덱스에서 문서 로드
특징:
사용 예:
from langchain.document_loaders import ElasticsearchLoader
loader = ElasticsearchLoader(
es_url="<http://localhost:9200>",
index_name="your_index",
query={"match_all": {}}
)
documents = loader.load()
APILoader
특징:
사용 예:
from langchain.document_loaders import APILoader
loader = APILoader(
api_url="<https://api.example.com/data>",
params={"limit": 100},
headers={"Authorization": "Bearer token"},
data_key="results" # JSON 응답에서 데이터를 추출할 키
)
documents = loader.load()
페이지네이션 및 레이트 리밋 관리
인증 및 보안
특징:
사용 예:
from langchain.document_loaders import GraphQLLoader
query = """
query {
posts {
id
title
content
author {
name
}
}
}
"""
loader = GraphQLLoader(
graphql_endpoint="<https://api.example.com/graphql>",
query=query,
headers={"Authorization": "Bearer token"}
)
documents = loader.load()