diff --git a/litellm/integrations/langfuse.py b/litellm/integrations/langfuse.py index a3fa1e2cee..0647afabcd 100644 --- a/litellm/integrations/langfuse.py +++ b/litellm/integrations/langfuse.py @@ -317,22 +317,22 @@ class LangFuseLogger: try: tags = [] - new_metadata = {} - for key, value in metadata.items(): - if ( - isinstance(value, list) - or isinstance(value, dict) - or isinstance(value, str) - or isinstance(value, int) - or isinstance(value, float) - ): - try: + try: + metadata = copy.deepcopy( + metadata + ) # Avoid modifying the original metadata + except: + new_metadata = {} + for key, value in metadata.items(): + if ( + isinstance(value, list) + or isinstance(value, dict) + or isinstance(value, str) + or isinstance(value, int) + or isinstance(value, float) + ): new_metadata[key] = copy.deepcopy(value) - except Exception as e: - verbose_logger.error( - f"Langfuse [Non-blocking error] - error copying metadata: {str(e)}" - ) - metadata = new_metadata + metadata = new_metadata supports_tags = Version(langfuse.version.__version__) >= Version("2.6.3") supports_prompt = Version(langfuse.version.__version__) >= Version("2.7.3")