Slide 26
Slide 26 text
Copyright (C) 2024 Toranoana Lab Inc. All Rights Reserved.
ファイルアップロード
(テキスト化)
def get_loader(filename: str, file_content_type: str, filepath: str):
file_ext = filename.split(".")[-1].lower()
known_type = True
if file_ext == "pdf":
loader = PyPDFLoader(filepath, extract_images=False)
elif file_ext == "pptx":
loader = UnstructuredPowerPointLoader(filepath, mode="elements")
elif (
file_content_type
==
"application/vnd.openxmlformats-officedocument.wordprocessingml.document
"
or file_ext in ["doc", "docx"]
):
loader = Docx2txtLoader(filepath)
elif file_content_type in [
"application/vnd.ms-excel",
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
] or file_ext in ["xls", "xlsx"]:
loader = UnstructuredExcelLoader(filepath, mode="elements")
else:
loader = TextLoader(filepath, autodetect_encoding=False)
known_type = False
return loader, known_type, file_ext
LangChainのLoaderを使ってファ
イル内容をファイル種別毎にテキ
スト化する
mode="elements"にすることでメ
タデータも含めてテキスト化される