From 5590dfe8f3be388219e851c8b1b8fe9be116aee8 Mon Sep 17 00:00:00 2001 From: Gabriel Luiz Freitas Almeida Date: Wed, 27 Sep 2023 16:21:41 -0300 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9B=20fix(langfuse.py):=20handle=20Imp?= =?UTF-8?q?ortError=20when=20importing=20Langfuse=20to=20prevent=20crashes?= =?UTF-8?q?=20when=20Langfuse=20is=20not=20installed=20=E2=9C=A8=20feat(la?= =?UTF-8?q?ngfuse.py):=20set=20cls.=5Finstance=20to=20None=20when=20no=20L?= =?UTF-8?q?angfuse=20credentials=20are=20found=20to=20improve=20error=20ha?= =?UTF-8?q?ndling=20and=20prevent=20crashes?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../langflow/services/plugins/langfuse.py | 34 +++++++++++-------- 1 file changed, 19 insertions(+), 15 deletions(-) diff --git a/src/backend/langflow/services/plugins/langfuse.py b/src/backend/langflow/services/plugins/langfuse.py index 29d59808b..7a1f60a48 100644 --- a/src/backend/langflow/services/plugins/langfuse.py +++ b/src/backend/langflow/services/plugins/langfuse.py @@ -17,23 +17,27 @@ class LangfuseInstance: @classmethod def create(cls): - logger.debug("Creating Langfuse instance") - from langfuse import Langfuse # type: ignore + try: + logger.debug("Creating Langfuse instance") + from langfuse import Langfuse # type: ignore - settings_manager = get_settings_service() + settings_manager = get_settings_service() - if ( - settings_manager.settings.LANGFUSE_PUBLIC_KEY - and settings_manager.settings.LANGFUSE_SECRET_KEY - ): - logger.debug("Langfuse credentials found") - cls._instance = Langfuse( - public_key=settings_manager.settings.LANGFUSE_PUBLIC_KEY, - secret_key=settings_manager.settings.LANGFUSE_SECRET_KEY, - host=settings_manager.settings.LANGFUSE_HOST, - ) - else: - logger.debug("No Langfuse credentials found") + if ( + settings_manager.settings.LANGFUSE_PUBLIC_KEY + and settings_manager.settings.LANGFUSE_SECRET_KEY + ): + logger.debug("Langfuse credentials found") + cls._instance = Langfuse( + public_key=settings_manager.settings.LANGFUSE_PUBLIC_KEY, + secret_key=settings_manager.settings.LANGFUSE_SECRET_KEY, + host=settings_manager.settings.LANGFUSE_HOST, + ) + else: + logger.debug("No Langfuse credentials found") + cls._instance = None + except ImportError: + logger.debug("Langfuse not installed") cls._instance = None @classmethod