跳至主要內容

設定團隊預算

前置需求

  • 您必須設定一個 Postgres 資料庫(例如 Supabase、Neon 等)

自動產生的 JWT 團隊的預設預算

使用 team_id_upsert: true 的 JWT 驗證時,您可以自動為任何新建立的團隊指派預設預算。

這是在您的 config.yaml 中的 default_team_settings 設定。

範例:

# in your config.yaml

litellm_jwtauth:
team_id_upsert: true
team_id_jwt_field: "team_id"
# ... other jwt settings

litellm_settings:
default_team_settings:
- team_id: "default-settings"
max_budget: 100.0

追蹤支出,為您的內部團隊設定預算

設定每月團隊預算

1. 建立團隊

  • 設定 max_budget=000000001(團隊允許花費的 $ 金額)
  • 設定 budget_duration="1d"(預算應該多久更新一次)

建立新團隊並設定 max_budgetbudget_duration

curl -X POST 'http://0.0.0.0:4000/team/new' \
-H 'Authorization: Bearer sk-1234' \
-H 'Content-Type: application/json' \
-d '{
"team_alias": "QA Prod Bot",
"max_budget": 0.000000001,
"budget_duration": "1d"
}'

回應

{
"team_alias": "QA Prod Bot",
"team_id": "de35b29e-6ca8-4f47-b804-2b79d07aa99a",
"max_budget": 0.0001,
"budget_duration": "1d",
"budget_reset_at": "2024-06-14T22:48:36.594000Z"
}

budget_duration 的可用值

budget_duration預算何時重設
budget_duration="1s"每 1 秒
budget_duration="1m"每 1 分鐘
budget_duration="1h"每 1 小時
budget_duration="1d"每 1 天
budget_duration="30d"每 1 個月

2. 為 team 建立金鑰

為團隊=QA Prod Bot 建立一把金鑰,並使用步驟 1 中的 team_id="de35b29e-6ca8-4f47-b804-2b79d07aa99a"

💡 團隊="QA Prod Bot" 的預算將套用到此團隊

curl -X POST 'http://0.0.0.0:4000/key/generate' \
-H 'Authorization: Bearer sk-1234' \
-H 'Content-Type: application/json' \
-d '{"team_id": "de35b29e-6ca8-4f47-b804-2b79d07aa99a"}'

回應

{"team_id":"de35b29e-6ca8-4f47-b804-2b79d07aa99a", "key":"sk-5qtncoYjzRcxMM4bDRktNQ"}

3. 測試它

使用步驟 2 的金鑰並執行此請求兩次

curl -X POST 'http://0.0.0.0:4000/chat/completions' \
-H 'Authorization: Bearer sk-mso-JSykEGri86KyOvgxBw' \
-H 'Content-Type: application/json' \
-d ' {
"model": "llama3",
"messages": [
{
"role": "user",
"content": "hi"
}
]
}'

在第 2 次回應中 - 預期會看到以下例外

{
"error": {
"message": "Budget has been exceeded! Current cost: 3.5e-06, Max budget: 1e-09",
"type": "auth_error",
"param": null,
"code": 400
}
}

進階

remaining_budget 的 Prometheus 指標

關於 Prometheus 指標的更多資訊請見此處

您需要在 proxy config.yaml 中加入以下內容

litellm_settings:
success_callback: ["prometheus"]
failure_callback: ["prometheus"]

預期在 prometheus 上看到此指標,以追蹤該團隊的剩餘預算

litellm_remaining_team_budget_metric{team_alias="QA Prod Bot",team_id="de35b29e-6ca8-4f47-b804-2b79d07aa99a"} 9.699999999999992e-06

另請參閱