v0 log KeyCreatedEvent

This commit is contained in:
Ishaan Jaff 2024-08-12 10:56:11 -07:00
parent dc8f9e7241
commit 30a54ef007
2 changed files with 57 additions and 1 deletions

View file

@ -26,7 +26,13 @@ from litellm.caching import DualCache
from litellm.integrations.custom_logger import CustomLogger
from litellm.litellm_core_utils.litellm_logging import Logging
from litellm.llms.custom_httpx.http_handler import AsyncHTTPHandler
from litellm.proxy._types import AlertType, CallInfo, UserAPIKeyAuth, WebhookEvent
from litellm.proxy._types import (
AlertType,
CallInfo,
KeyCreatedEvent,
UserAPIKeyAuth,
WebhookEvent,
)
from litellm.types.router import LiteLLM_Params
from .email_templates.templates import *
@ -1788,3 +1794,44 @@ Model Info:
verbose_proxy_logger.error("Error sending weekly spend report %s", e)
pass
async def send_virtual_key_event_slack(
self,
key_event: KeyCreatedEvent,
event_name: str,
):
"""
Helper to send fallback statistics from prometheus server -> to slack
This runs once per day and sends an overview of all the fallback statistics
"""
try:
message = f"`{event_name}`\n"
key_event_dict = key_event.model_dump()
# Add Created by information first
message += "*Created by:*\n"
for key, value in key_event_dict.items():
if "created_by" in key:
message += f"{key}: `{value}`\n"
# Add all non created by information next
message += "\n*Arguments passed:*\n"
for key, value in key_event_dict.items():
if "created_by" not in key:
message += f"{key}: `{value}`\n"
await self.send_alert(
message=message,
level="High",
alert_type="fallback_reports",
alerting_metadata={},
)
except Exception as e:
verbose_proxy_logger.error(
"Error sending send_virtual_key_event_slack %s", e
)
return

View file

@ -1754,3 +1754,12 @@ class SSOUserDefinedValues(TypedDict):
user_role: Optional[str]
max_budget: Optional[float]
budget_duration: Optional[str]
class KeyCreatedEvent(LiteLLMBase):
created_by_user_id: str
created_by_user_role: str
created_by_key_alias: Optional[str]
key_alias: Optional[str]
team_id: Optional[str]
max_budget: Optional[float]