Zum Hauptinhalt springen

💸 Ausgabenverfolgung

Verfolgen Sie Ausgaben für Schlüssel, Benutzer und Teams über 100+ LLMs.

LiteLLM verfolgt automatisch die Ausgaben für alle bekannten Modelle. Sehen Sie sich unsere Modellkostenkarte an

Ausgaben mit LiteLLM verfolgen

Schritt 1

👉 LiteLLM mit einer Datenbank einrichten

Schritt 2 Senden Sie eine /chat/completions-Anfrage

import openai
client = openai.OpenAI(
api_key="sk-1234",
base_url="http://0.0.0.0:4000"
)

response = client.chat.completions.create(
model="llama3",
messages = [
{
"role": "user",
"content": "this is a test request, write a short poem"
}
],
user="palantir", # OPTIONAL: pass user to track spend by user
extra_body={
"metadata": {
"tags": ["jobID:214590dsff09fds", "taskName:run_page_classification"] # ENTERPRISE: pass tags to track spend by tags
}
}
)

print(response)

Schritt 3 - Ausgabenverfolgung überprüfen Das war's. Überprüfen Sie nun, ob Ihre Ausgaben verfolgt wurden

Erwarten Sie, dass x-litellm-response-cost in den Antwortheadern mit den berechneten Kosten angezeigt wird

Nicht-Proxy-Admins Zugriff auf /spend-Endpunkte gewähren

Verwenden Sie dies, wenn Sie möchten, dass Nicht-Proxy-Admins auf /spend-Endpunkte zugreifen können

Schlüssel erstellen

Schlüssel mit permissions={"get_spend_routes": true} erstellen

curl --location 'http://0.0.0.0:4000/key/generate' \
--header 'Authorization: Bearer sk-1234' \
--header 'Content-Type: application/json' \
--data '{
"permissions": {"get_spend_routes": true}
}'
Generierten Schlüssel für /spend-Endpunkte verwenden

Auf Spend-Routen mit neu generierten Schlüsseln zugreifen

curl -X GET 'https://:4000/global/spend/report?start_date=2024-04-01&end_date=2024-06-30' \
-H 'Authorization: Bearer sk-H16BKvrSNConSsBYLGc_7A'

Ausgaben für Teams und API-Schlüssel zurücksetzen - NUR MASTER-SCHLÜSSEL

Verwenden Sie /global/spend/reset, wenn Sie

  • Die Ausgaben für alle API-Schlüssel und Teams zurücksetzen möchten. Die spend für ALLE Teams und Schlüssel in LiteLLM_TeamTable und LiteLLM_VerificationToken werden auf spend=0 gesetzt

  • LiteLLM behält alle Protokolle in LiteLLMSpendLogs zu Audit-Zwecken

Anfrage

Nur der LITELLM_MASTER_KEY, den Sie festgelegt haben, kann auf diese Route zugreifen

curl -X POST \
'https://:4000/global/spend/reset' \
-H 'Authorization: Bearer sk-1234' \
-H 'Content-Type: application/json'
Erwartete Antworten
{"message":"Spend for all API Keys and Teams reset successfully","status":"success"}

Tägliche Ausgabenaufschlüsselungs-API

Rufen Sie detaillierte tägliche Nutzungsdaten für einen Benutzer (nach Modell, Anbieter und API-Schlüssel) mit einem einzigen Endpunkt ab.

Beispielanfrage

Daily Spend Breakdown API
curl -L -X GET 'https://:4000/user/daily/activity?start_date=2025-03-20&end_date=2025-03-27' \
-H 'Authorization: Bearer sk-...'
Daily Spend Breakdown API-Antwort
{
"results": [
{
"date": "2025-03-27",
"metrics": {
"spend": 0.0177072,
"prompt_tokens": 111,
"completion_tokens": 1711,
"total_tokens": 1822,
"api_requests": 11
},
"breakdown": {
"models": {
"gpt-4o-mini": {
"spend": 1.095e-05,
"prompt_tokens": 37,
"completion_tokens": 9,
"total_tokens": 46,
"api_requests": 1
},
"providers": { "openai": { ... }, "azure_ai": { ... } },
"api_keys": { "3126b6eaf1...": { ... } }
}
}
],
"metadata": {
"total_spend": 0.7274667,
"total_prompt_tokens": 280990,
"total_completion_tokens": 376674,
"total_api_requests": 14
}
}

API-Referenz

Siehe unsere Swagger API für weitere Details zum /user/daily/activity-Endpunkt

✨ (Enterprise) Ausgabenberichte generieren

Verwenden Sie dies, um andere Teams, Kunden und Benutzer abzurechnen

Verwenden Sie den Endpunkt /global/spend/report, um Ausgabenberichte zu erhalten

Beispielanfrage

👉 Schlüsseländerung: group_by=team angeben

curl -X GET 'https://:4000/global/spend/report?start_date=2024-04-01&end_date=2024-06-30&group_by=team' \
-H 'Authorization: Bearer sk-1234'

Beispielantwort

[
{
"group_by_day": "2024-04-30T00:00:00+00:00",
"teams": [
{
"team_name": "Prod Team",
"total_spend": 0.0015265,
"metadata": [ # see the spend by unique(key + model)
{
"model": "gpt-4",
"spend": 0.00123,
"total_tokens": 28,
"api_key": "88dc28.." # the hashed api key
},
{
"model": "gpt-4",
"spend": 0.00123,
"total_tokens": 28,
"api_key": "a73dc2.." # the hashed api key
},
{
"model": "chatgpt-v-2",
"spend": 0.000214,
"total_tokens": 122,
"api_key": "898c28.." # the hashed api key
},
{
"model": "gpt-3.5-turbo",
"spend": 0.0000825,
"total_tokens": 85,
"api_key": "84dc28.." # the hashed api key
}
]
}
]
}
]

✨ Benutzerdefinierte Metadaten für Ausgabenprotokolle

Protokollieren Sie spezifische Schlüssel/Wert-Paare als Teil der Metadaten für ein Ausgabenprotokoll

Info

Das Protokollieren spezifischer Schlüssel/Wert-Paare in den Metadaten von Ausgabenprotokollen ist eine Enterprise-Funktion. Siehe hier

✨ Benutzerdefinierte Tags

Info

Die Verfolgung von Ausgaben mit benutzerdefinierten Tags ist eine Enterprise-Funktion. Siehe hier