🐛 fix(langfuse.py): handle ImportError when importing Langfuse to prevent crashes when Langfuse is not installed
✨ feat(langfuse.py): set cls._instance to None when no Langfuse credentials are found to improve error handling and prevent crashes
This commit is contained in:
parent
a3c2a0d13a
commit
5590dfe8f3
1 changed files with 19 additions and 15 deletions
|
|
@ -17,23 +17,27 @@ class LangfuseInstance:
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def create(cls):
|
def create(cls):
|
||||||
logger.debug("Creating Langfuse instance")
|
try:
|
||||||
from langfuse import Langfuse # type: ignore
|
logger.debug("Creating Langfuse instance")
|
||||||
|
from langfuse import Langfuse # type: ignore
|
||||||
|
|
||||||
settings_manager = get_settings_service()
|
settings_manager = get_settings_service()
|
||||||
|
|
||||||
if (
|
if (
|
||||||
settings_manager.settings.LANGFUSE_PUBLIC_KEY
|
settings_manager.settings.LANGFUSE_PUBLIC_KEY
|
||||||
and settings_manager.settings.LANGFUSE_SECRET_KEY
|
and settings_manager.settings.LANGFUSE_SECRET_KEY
|
||||||
):
|
):
|
||||||
logger.debug("Langfuse credentials found")
|
logger.debug("Langfuse credentials found")
|
||||||
cls._instance = Langfuse(
|
cls._instance = Langfuse(
|
||||||
public_key=settings_manager.settings.LANGFUSE_PUBLIC_KEY,
|
public_key=settings_manager.settings.LANGFUSE_PUBLIC_KEY,
|
||||||
secret_key=settings_manager.settings.LANGFUSE_SECRET_KEY,
|
secret_key=settings_manager.settings.LANGFUSE_SECRET_KEY,
|
||||||
host=settings_manager.settings.LANGFUSE_HOST,
|
host=settings_manager.settings.LANGFUSE_HOST,
|
||||||
)
|
)
|
||||||
else:
|
else:
|
||||||
logger.debug("No Langfuse credentials found")
|
logger.debug("No Langfuse credentials found")
|
||||||
|
cls._instance = None
|
||||||
|
except ImportError:
|
||||||
|
logger.debug("Langfuse not installed")
|
||||||
cls._instance = None
|
cls._instance = None
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue