From 04eb718f7ac68082ee3c73b811094382136252d0 Mon Sep 17 00:00:00 2001 From: Ishaan Jaff Date: Tue, 7 Jan 2025 22:35:07 -0800 Subject: [PATCH] update docs --- docs/my-website/docs/proxy/alerting.md | 71 +++++++++++++++++----- docs/my-website/img/soft_budget_alert.png | Bin 0 -> 48043 bytes 2 files changed, 56 insertions(+), 15 deletions(-) create mode 100644 docs/my-website/img/soft_budget_alert.png diff --git a/docs/my-website/docs/proxy/alerting.md b/docs/my-website/docs/proxy/alerting.md index b6296b60a7b..544c9bb905c 100644 --- a/docs/my-website/docs/proxy/alerting.md +++ b/docs/my-website/docs/proxy/alerting.md @@ -6,17 +6,13 @@ import TabItem from '@theme/TabItem'; Get alerts for: -- Hanging LLM api calls -- Slow LLM api calls -- Failed LLM api calls -- Budget Tracking per key/user -- Spend Reports - Weekly & Monthly spend per Team, Tag -- Failed db read/writes -- Model outage alerting -- Daily Reports: - - **LLM** Top 5 slowest deployments - - **LLM** Top 5 deployments with most failed requests -- **Spend** Weekly & Monthly spend per Team, Tag +| Category | Alert Type | +|----------|------------| +| **LLM Performance** | Hanging API calls, Slow API calls, Failed API calls, Model outage alerting | +| **Budget & Spend** | Budget tracking per key/user, Soft budget alerts, Weekly & Monthly spend reports per Team/Tag | +| **System Health** | Failed database read/writes | +| **Daily Reports** | Top 5 slowest LLM deployments, Top 5 LLM deployments with most failed requests, Weekly & Monthly spend per Team/Tag | + Works across: @@ -93,6 +89,51 @@ litellm_settings: redact_messages_in_exceptions: True ``` +### Soft Budget Alerts for Virtual Keys + +Use this to send an alert when a key/team is close to it's budget running out + +Step 1. Create a virtual key with a soft budget + +Set the `soft_budget` to 0.001 + +```shell +curl -X 'POST' \ + 'http://localhost:4000/key/generate' \ + -H 'accept: application/json' \ + -H 'x-goog-api-key: sk-1234' \ + -H 'Content-Type: application/json' \ + -d '{ + "key_alias": "prod-app1", + "team_id": "113c1a22-e347-4506-bfb2-b320230ea414", + "soft_budget": 0.001 +}' +``` + +Step 2. Send a request to the proxy with the virtual key + +```shell +curl http://0.0.0.0:4000/chat/completions \ +-H "Content-Type: application/json" \ +-H "Authorization: Bearer sk-Nb5eCf427iewOlbxXIH4Ow" \ +-d '{ + "model": "openai/gpt-4", + "messages": [ + { + "role": "user", + "content": "this is a test request, write a short poem" + } + ] +}' + +``` + +Step 3. Check slack for Expected Alert + + + + + ### Add Metadata to alerts @@ -123,7 +164,7 @@ response = client.chat.completions.create( -### Opting into specific alert types +### Select specific alert types Set `alert_types` if you want to Opt into only specific alert types. When alert_types is not set, all Default Alert Types are enabled. @@ -145,7 +186,7 @@ general_settings: ] ``` -### Set specific slack channels per alert type +### Map slack channels to alert type Use this if you want to set specific channels per alert type @@ -243,7 +284,7 @@ curl -i http://localhost:4000/v1/chat/completions \ ``` -### Using MS Teams Webhooks +### MS Teams Webhooks MS Teams provides a slack compatible webhook url that you can use for alerting @@ -285,7 +326,7 @@ curl --location 'http://0.0.0.0:4000/health/services?service=slack' \ -### Using Discord Webhooks +### Discord Webhooks Discord provides a slack compatible webhook url that you can use for alerting diff --git a/docs/my-website/img/soft_budget_alert.png b/docs/my-website/img/soft_budget_alert.png new file mode 100644 index 0000000000000000000000000000000000000000..7e1f66f0fd1413f96cb4298a5c27e01254df3b3a GIT binary patch literal 48043 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