forked from phoenix/litellm-mirror
ui show spend per tag
This commit is contained in:
parent
12e5118367
commit
ac5507bd84
4 changed files with 170 additions and 0 deletions
|
@ -1,5 +1,6 @@
|
|||
# Enterprise Proxy Util Endpoints
|
||||
from litellm._logging import verbose_logger
|
||||
import collections
|
||||
|
||||
|
||||
async def get_spend_by_tags(start_date=None, end_date=None, prisma_client=None):
|
||||
|
@ -17,6 +18,43 @@ async def get_spend_by_tags(start_date=None, end_date=None, prisma_client=None):
|
|||
return response
|
||||
|
||||
|
||||
async def ui_get_spend_by_tags(start_date=None, end_date=None, prisma_client=None):
|
||||
response = await prisma_client.db.query_raw(
|
||||
"""
|
||||
SELECT
|
||||
jsonb_array_elements_text(request_tags) AS individual_request_tag,
|
||||
DATE(s."startTime") AS spend_date,
|
||||
COUNT(*) AS log_count,
|
||||
SUM(spend) AS total_spend
|
||||
FROM "LiteLLM_SpendLogs" s
|
||||
WHERE s."startTime" >= current_date - interval '30 days'
|
||||
GROUP BY individual_request_tag, spend_date
|
||||
ORDER BY spend_date;
|
||||
"""
|
||||
)
|
||||
|
||||
# print("tags - spend")
|
||||
# print(response)
|
||||
# Bar Chart 1 - Spend per tag - Top 10 tags by spend
|
||||
total_spend_per_tag = collections.defaultdict(float)
|
||||
for row in response:
|
||||
tag_name = row["individual_request_tag"]
|
||||
tag_spend = row["total_spend"]
|
||||
|
||||
total_spend_per_tag[tag_name] += tag_spend
|
||||
|
||||
# get top 10 tags
|
||||
top_10_tags = sorted(total_spend_per_tag.items(), key=lambda x: x[1], reverse=True)[
|
||||
:10
|
||||
]
|
||||
# convert to ui format
|
||||
ui_top_10_tags = [{"name": tag[0], "value": tag[1]} for tag in top_10_tags]
|
||||
|
||||
# Bar Chart 2 - Daily Spend per tag
|
||||
|
||||
return {"top_10_tags": ui_top_10_tags, "daily_spend_per_tag": total_spend_per_tag}
|
||||
|
||||
|
||||
async def view_spend_logs_from_clickhouse(
|
||||
api_key=None, user_id=None, request_id=None, start_date=None, end_date=None
|
||||
):
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue