Procházet zdrojové kódy

refactor: do not instantiate all loaders (#418)

cachho před 2 roky
rodič
revize
a232d1b779
1 změnil soubory, kde provedl 11 přidání a 9 odebrání
  1. 11 9
      embedchain/data_formatter/data_formatter.py

+ 11 - 9
embedchain/data_formatter/data_formatter.py

@@ -37,18 +37,20 @@ class DataFormatter:
         :raises ValueError: If an unsupported data type is provided.
         """
         loaders = {
-            "youtube_video": YoutubeVideoLoader(),
-            "pdf_file": PdfFileLoader(),
-            "web_page": WebPageLoader(),
-            "qna_pair": LocalQnaPairLoader(),
-            "text": LocalTextLoader(),
-            "docx": DocxFileLoader(),
-            "sitemap": SitemapLoader(),
-            "docs_site": DocsSiteLoader(),
+            "youtube_video": YoutubeVideoLoader,
+            "pdf_file": PdfFileLoader,
+            "web_page": WebPageLoader,
+            "qna_pair": LocalQnaPairLoader,
+            "text": LocalTextLoader,
+            "docx": DocxFileLoader,
+            "sitemap": SitemapLoader,
+            "docs_site": DocsSiteLoader,
         }
         lazy_loaders = ("notion",)
         if data_type in loaders:
-            return loaders[data_type]
+            loader_class = loaders[data_type]
+            loader = loader_class()
+            return loader
         elif data_type in lazy_loaders:
             if data_type == "notion":
                 from embedchain.loaders.notion import NotionLoader