From f6ab26629499d12668277e767117cb4d5da4c749 Mon Sep 17 00:00:00 2001 From: Gabriel Luiz Freitas Almeida Date: Wed, 25 Oct 2023 15:57:48 -0300 Subject: [PATCH 1/2] =?UTF-8?q?=F0=9F=90=9B=20fix(base.py):=20handle=20imp?= =?UTF-8?q?ort=20errors=20when=20importing=20utilities=20to=20prevent=20ap?= =?UTF-8?q?plication=20crashes?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The code now handles import errors when importing utilities from the `langchain.utilities` module. If an import error occurs, the utility is skipped and not added to the `type_dict` dictionary. This prevents the application from crashing when encountering an invalid or missing utility. --- src/backend/langflow/interface/utilities/base.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/backend/langflow/interface/utilities/base.py b/src/backend/langflow/interface/utilities/base.py index bfc7cb11e..a404417dc 100644 --- a/src/backend/langflow/interface/utilities/base.py +++ b/src/backend/langflow/interface/utilities/base.py @@ -28,10 +28,14 @@ class UtilityCreator(LangChainTypeCreator): """ if self.type_dict is None: settings_service = get_settings_service() - self.type_dict = { - utility_name: import_class(f"langchain.utilities.{utility_name}") - for utility_name in utilities.__all__ - } + self.type_dict = {} + for utility_name in utilities.__all__: + try: + imported = import_class(f"langchain.utilities.{utility_name}") + self.type_dict[utility_name] = imported + except Exception: + pass + self.type_dict["SQLDatabase"] = utilities.SQLDatabase # Filter according to settings.utilities self.type_dict = { From 976bbe509db217255ddad7cd303294db11671635 Mon Sep 17 00:00:00 2001 From: Gabriel Luiz Freitas Almeida Date: Wed, 25 Oct 2023 16:03:16 -0300 Subject: [PATCH 2/2] =?UTF-8?q?=F0=9F=94=A7=20chore(Makefile):=20add=20'ma?= =?UTF-8?q?ke=20install=5Fbackend'=20command=20to=20the=20'lint'=20target?= =?UTF-8?q?=20to=20ensure=20backend=20dependencies=20are=20installed=20bef?= =?UTF-8?q?ore=20running=20checks?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Makefile | 1 + 1 file changed, 1 insertion(+) diff --git a/Makefile b/Makefile index 1fbd7403c..685dae466 100644 --- a/Makefile +++ b/Makefile @@ -28,6 +28,7 @@ format: cd src/frontend && npm run format lint: + make install_backend poetry run mypy src/backend/langflow poetry run black . --check poetry run ruff . --fix