[M1 Mac, Ventura 13.3.1, Python 3.10.4]
これまでCSVとPDFの単ファイルに対応していましたが、ディレクトリ内の複数ファイルにも対応できるようにしました。TXTファイルも読み込めます。
def makeIDX(self):
# インデックスの作成および保存
llm_predictor = LLMPredictor(llm=OpenAI(temperature=0, model_name="gpt-3.5-turbo"))
service_context = ServiceContext.from_defaults(llm_predictor=llm_predictor)
data_path = self.input.text()
data_path2 = data_path.replace("'", "") # 拡張子判定用
data_path3 = Path(data_path2) # loader用
if data_path2.endswith('/'):
documents = SimpleDirectoryReader(data_path3).load_data()
elif data_path2.endswith('.csv'):
SimpleCSVReader = download_loader("SimpleCSVReader")
documents = SimpleCSVReader().load_data(file=data_path3)
elif data_path2.endswith('.pdf'):
PDFReader = download_loader("PDFReader")
documents = PDFReader().load_data(file=data_path3)
else:
print('入力がディレクトリ,csv,pdfではありません')
self.output.setText("入力がディレクトリ,csv,pdfではありません")
self.box.setStyleSheet('background-color: #ff00ff')
return
index = GPTSimpleVectorIndex.from_documents(documents, service_context=service_context)
now = datetime.datetime.now()
formatted_time = now.strftime('%y%m%d_%H%M%S')
index_file = "/Volumes/DATA_m1/AI/LlamaIndex/index/" + formatted_time + "_index.json"
index.save_to_disk(index_file)
self.input2.setText(index_file)
self.idxBtn2.click()