mirror of
https://github.com/BerriAI/litellm.git
synced 2026-09-21 00:21:49 +00:00
Merge pull request #39102 from gaurav-pandey-zocdoc/litellm_budget_alert_wording
fix(alerting): clarify budget threshold messages
This commit is contained in:
commit
6b8db68fb8
2 changed files with 8 additions and 8 deletions
|
|
@ -647,10 +647,10 @@ class SlackAlerting(CustomBatchLogger):
|
|||
event_message += f"Budget Crossed\n Total Budget:`{user_info.max_budget}`"
|
||||
elif percent_left <= SLACK_ALERTING_THRESHOLD_5_PERCENT:
|
||||
event = "threshold_crossed"
|
||||
event_message += "5% Threshold Crossed "
|
||||
event_message += "5% or less of budget remaining"
|
||||
elif percent_left <= SLACK_ALERTING_THRESHOLD_15_PERCENT:
|
||||
event = "threshold_crossed"
|
||||
event_message += "15% Threshold Crossed"
|
||||
event_message += "15% or less of budget remaining"
|
||||
|
||||
return event, event_message
|
||||
|
||||
|
|
|
|||
|
|
@ -10,6 +10,7 @@ import pytest
|
|||
|
||||
import litellm
|
||||
from litellm.caching.caching import DualCache
|
||||
from litellm.integrations.SlackAlerting.budget_alert_types import get_budget_alert_type
|
||||
from litellm.integrations.SlackAlerting.slack_alerting import SlackAlerting
|
||||
from litellm.proxy._types import CallInfo, Litellm_EntityType
|
||||
from litellm.types.integrations.slack_alerting import AlertType, SlackAlertingCacheKeys
|
||||
|
|
@ -61,9 +62,8 @@ class TestSlackAlerting(unittest.TestCase):
|
|||
self.assertNotIn("*token:*", result)
|
||||
|
||||
def test_get_event_and_event_message_max_budget(self):
|
||||
# Initial setup with no event
|
||||
event = None
|
||||
event_message = "Test Message: "
|
||||
event_message = get_budget_alert_type("user_budget").get_event_message()
|
||||
|
||||
# Test case 1: When spend exceeds max_budget
|
||||
user_info = CallInfo(
|
||||
|
|
@ -78,7 +78,7 @@ class TestSlackAlerting(unittest.TestCase):
|
|||
self.assertEqual(event, "budget_crossed")
|
||||
self.assertTrue("Budget Crossed" in event_message)
|
||||
|
||||
# Test case 2: When 5% of max_budget is left
|
||||
event_message = get_budget_alert_type("user_budget").get_event_message()
|
||||
user_info = CallInfo(
|
||||
max_budget=100.0,
|
||||
spend=95.0,
|
||||
|
|
@ -89,9 +89,9 @@ class TestSlackAlerting(unittest.TestCase):
|
|||
user_info=user_info, event=event, event_message=event_message
|
||||
)
|
||||
self.assertEqual(event, "threshold_crossed")
|
||||
self.assertTrue("5% Threshold Crossed" in event_message)
|
||||
self.assertEqual(event_message, "User Budget: 5% or less of budget remaining")
|
||||
|
||||
# Test case 3: When 15% of max_budget is left
|
||||
event_message = get_budget_alert_type("user_budget").get_event_message()
|
||||
user_info = CallInfo(
|
||||
max_budget=100.0,
|
||||
spend=85.0,
|
||||
|
|
@ -102,7 +102,7 @@ class TestSlackAlerting(unittest.TestCase):
|
|||
user_info=user_info, event=event, event_message=event_message
|
||||
)
|
||||
self.assertEqual(event, "threshold_crossed")
|
||||
self.assertTrue("15% Threshold Crossed" in event_message)
|
||||
self.assertEqual(event_message, "User Budget: 15% or less of budget remaining")
|
||||
|
||||
def test_get_event_and_event_message_soft_budget(self):
|
||||
# Initial setup with no event
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue