From be6e074057706cd2886697404a0b632d95d995bd Mon Sep 17 00:00:00 2001 From: Hassieb Pakzad <68423100+hassiebp@users.noreply.github.com> Date: Tue, 3 Jun 2025 17:20:48 +0200 Subject: [PATCH 1/3] fix(langchain): deployment version in model name --- langfuse/langchain/utils.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/langfuse/langchain/utils.py b/langfuse/langchain/utils.py index 5880e9624..30dde5683 100644 --- a/langfuse/langchain/utils.py +++ b/langfuse/langchain/utils.py @@ -58,7 +58,11 @@ def _extract_model_name( deployment_version = None if serialized.get("kwargs").get("deployment_name"): deployment_name = serialized.get("kwargs").get("deployment_name") - return deployment_name + "-" + deployment_version + return ( + deployment_name + "-" + deployment_version + if deployment_version not in deployment_name + else deployment_name + ) # Third, for some models, we are unable to extract the model by a path in an object. Langfuse provides us with a string representation of the model pbjects # We use regex to extract the model from the repr string From 6c1e9f5bce53542d4a6bcc6c857bf3832fbd7e35 Mon Sep 17 00:00:00 2001 From: Hassieb Pakzad <68423100+hassiebp@users.noreply.github.com> Date: Tue, 3 Jun 2025 17:24:00 +0200 Subject: [PATCH 2/3] push --- langfuse/langchain/utils.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/langfuse/langchain/utils.py b/langfuse/langchain/utils.py index 30dde5683..3cc32ff35 100644 --- a/langfuse/langchain/utils.py +++ b/langfuse/langchain/utils.py @@ -53,11 +53,14 @@ def _extract_model_name( return kwargs.get("invocation_params").get("model_name") deployment_name = None - if serialized.get("kwargs").get("openai_api_version"): - deployment_name = serialized.get("kwargs").get("deployment_version") deployment_version = None + + if serialized.get("kwargs").get("openai_api_version"): + deployment_version = serialized.get("kwargs").get("deployment_version") + if serialized.get("kwargs").get("deployment_name"): deployment_name = serialized.get("kwargs").get("deployment_name") + return ( deployment_name + "-" + deployment_version if deployment_version not in deployment_name From 15e510ede8fa20f03405244a3ff6ac533648d853 Mon Sep 17 00:00:00 2001 From: Hassieb Pakzad <68423100+hassiebp@users.noreply.github.com> Date: Tue, 3 Jun 2025 17:31:11 +0200 Subject: [PATCH 3/3] push --- langfuse/langchain/utils.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/langfuse/langchain/utils.py b/langfuse/langchain/utils.py index 3cc32ff35..abbd9e70d 100644 --- a/langfuse/langchain/utils.py +++ b/langfuse/langchain/utils.py @@ -61,6 +61,12 @@ def _extract_model_name( if serialized.get("kwargs").get("deployment_name"): deployment_name = serialized.get("kwargs").get("deployment_name") + if not isinstance(deployment_name, str): + return None + + if not isinstance(deployment_version, str): + return deployment_name + return ( deployment_name + "-" + deployment_version if deployment_version not in deployment_name