.txt 확장자를 가지는 파일을 로더로 로드하는 방법을 살펴보겠습니다.
from langchain_community.document_loaders import TextLoader
# 텍스트 로더 생성
loader = TextLoader("data/appendix-keywords.txt")
# 문서 로드
docs = loader.load()
print(f"문서의 수: {len(docs)}\n")
print("[메타데이터]\n")
print(docs[0].metadata)
print("\n========= [앞부분] 미리보기 =========\n")
print(docs[0].page_content[:500])1 TextLoader를 통한 파일 인코딩 자동 감지
이 예제에서는 TextLoader 클래스를 사용하여 디렉토리에서 임의의 파일 목록을 대량으로 로드할 때 유용한 몇 가지 전략을 살펴보겠습니다.
먼저 문제를 설명하기 위해 임의의 인코딩으로 여러 개의 텍스트를 로드해 보겠습니다.
silent_errors: 디렉토리로더에 silent_errors 매개변수를 전달하여 로드할 수 없는 파일을 건너뛰고 로드 프로세스를 계속할 수 있습니다.autodetect_encoding: 또한 로더 클래스에 자동 감지_인코딩을 전달하여 실패하기 전에 파일 인코딩을 자동으로 감지하도록 요청할 수도 있습니다.
from langchain_community.document_loaders import DirectoryLoader
path = "data/"
text_loader_kwargs = {"autodetect_encoding": True}
loader = DirectoryLoader(
path,
glob="**/*.txt",
loader_cls=TextLoader,
silent_errors=True,
loader_kwargs=text_loader_kwargs,
)
docs = loader.load()data/appendix-keywords.txt 파일과 파일명이 유사한 파생 파일들은 모두 인코딩 방식이 다른 파일들입니다.
print("[메타데이터]\n")
print(docs[2].metadata)
print("\n========= [앞부분] 미리보기 =========\n")
print(docs[2].page_content[:500])