From 6d92b13c22c7be0fe40518a4cf5af088f2f50a0a Mon Sep 17 00:00:00 2001 From: Ishaan Jaff Date: Fri, 19 Apr 2024 10:29:42 -0700 Subject: [PATCH 1/4] feat - log team_alias to langfuse --- litellm/proxy/_types.py | 1 + litellm/proxy/utils.py | 1 + 2 files changed, 2 insertions(+) diff --git a/litellm/proxy/_types.py b/litellm/proxy/_types.py index 6dbeed4753f..b697b6e976a 100644 --- a/litellm/proxy/_types.py +++ b/litellm/proxy/_types.py @@ -792,6 +792,7 @@ class LiteLLM_VerificationTokenView(LiteLLM_VerificationToken): """ team_spend: Optional[float] = None + team_alias: Optional[str] = None team_tpm_limit: Optional[int] = None team_rpm_limit: Optional[int] = None team_max_budget: Optional[float] = None diff --git a/litellm/proxy/utils.py b/litellm/proxy/utils.py index 954d2496eaa..02e8a416686 100644 --- a/litellm/proxy/utils.py +++ b/litellm/proxy/utils.py @@ -1186,6 +1186,7 @@ class PrismaClient: t.rpm_limit AS team_rpm_limit, t.models AS team_models, t.blocked AS team_blocked, + t.team_alias AS team_alias, m.aliases as team_model_aliases FROM "LiteLLM_VerificationToken" AS v LEFT JOIN "LiteLLM_TeamTable" AS t ON v.team_id = t.team_id From 423121ff7dfccf1a2591d37c4ba0309d7962ac09 Mon Sep 17 00:00:00 2001 From: Ishaan Jaff Date: Fri, 19 Apr 2024 10:52:54 -0700 Subject: [PATCH 2/4] feat - track team_alias is metadata for /chat, /embeddings --- litellm/proxy/proxy_server.py | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/litellm/proxy/proxy_server.py b/litellm/proxy/proxy_server.py index c7415dea464..db85b7ba105 100644 --- a/litellm/proxy/proxy_server.py +++ b/litellm/proxy/proxy_server.py @@ -3361,6 +3361,9 @@ async def completion( data["metadata"]["user_api_key_team_id"] = getattr( user_api_key_dict, "team_id", None ) + data["metadata"]["user_api_key_team_alias"] = getattr( + user_api_key_dict, "team_alias", None + ) _headers = dict(request.headers) _headers.pop( "authorization", None @@ -3562,6 +3565,9 @@ async def chat_completion( data["metadata"]["user_api_key_team_id"] = getattr( user_api_key_dict, "team_id", None ) + data["metadata"]["user_api_key_team_alias"] = getattr( + user_api_key_dict, "team_alias", None + ) data["metadata"]["user_api_key_metadata"] = user_api_key_dict.metadata _headers = dict(request.headers) _headers.pop( @@ -3793,6 +3799,9 @@ async def embeddings( data["metadata"]["user_api_key_team_id"] = getattr( user_api_key_dict, "team_id", None ) + data["metadata"]["user_api_key_team_alias"] = getattr( + user_api_key_dict, "team_alias", None + ) data["metadata"]["endpoint"] = str(request.url) ### TEAM-SPECIFIC PARAMS ### @@ -3971,6 +3980,9 @@ async def image_generation( data["metadata"]["user_api_key_team_id"] = getattr( user_api_key_dict, "team_id", None ) + data["metadata"]["user_api_key_team_alias"] = getattr( + user_api_key_dict, "team_alias", None + ) data["metadata"]["endpoint"] = str(request.url) ### TEAM-SPECIFIC PARAMS ### @@ -4127,6 +4139,9 @@ async def audio_transcriptions( data["metadata"]["user_api_key_team_id"] = getattr( user_api_key_dict, "team_id", None ) + data["metadata"]["user_api_key_team_alias"] = getattr( + user_api_key_dict, "team_alias", None + ) data["metadata"]["endpoint"] = str(request.url) data["metadata"]["file_name"] = file.filename @@ -4302,6 +4317,9 @@ async def moderations( data["metadata"]["user_api_key_team_id"] = getattr( user_api_key_dict, "team_id", None ) + data["metadata"]["user_api_key_team_alias"] = getattr( + user_api_key_dict, "team_alias", None + ) data["metadata"]["endpoint"] = str(request.url) ### TEAM-SPECIFIC PARAMS ### From 410d1f2d2cbcaa54cdaef2c9cf417b429a9ba562 Mon Sep 17 00:00:00 2001 From: Ishaan Jaff Date: Fri, 19 Apr 2024 14:26:58 -0700 Subject: [PATCH 3/4] langfuse - log team alias --- litellm/integrations/langfuse.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/litellm/integrations/langfuse.py b/litellm/integrations/langfuse.py index 6e26bb02307..d1d9ff8ae94 100644 --- a/litellm/integrations/langfuse.py +++ b/litellm/integrations/langfuse.py @@ -280,9 +280,10 @@ class LangFuseLogger: for key, value in metadata.items(): # generate langfuse tags if key in [ - "user_api_key", + "user_api_key_alias", "user_api_key_user_id", "user_api_key_team_id", + "user_api_key_team_alias", "semantic-similarity", ]: tags.append(f"{key}:{value}") From 3167c9da9f6bfb4e06f95ed69496689cc0967e58 Mon Sep 17 00:00:00 2001 From: Ishaan Jaff Date: Fri, 19 Apr 2024 14:43:41 -0700 Subject: [PATCH 4/4] fix - use user_api_key_team_alias as the default tag on langfuse --- litellm/integrations/langfuse.py | 1 - 1 file changed, 1 deletion(-) diff --git a/litellm/integrations/langfuse.py b/litellm/integrations/langfuse.py index d1d9ff8ae94..2601cbf6e65 100644 --- a/litellm/integrations/langfuse.py +++ b/litellm/integrations/langfuse.py @@ -282,7 +282,6 @@ class LangFuseLogger: if key in [ "user_api_key_alias", "user_api_key_user_id", - "user_api_key_team_id", "user_api_key_team_alias", "semantic-similarity", ]: