forked from phoenix/litellm-mirror
Merge pull request #1625 from BerriAI/litellm_improve_admin_ui
[UI] Admin UI improvements
This commit is contained in:
commit
2b1177eaa9
1 changed files with 41 additions and 4 deletions
|
@ -2561,7 +2561,12 @@ async def spend_key_fn():
|
||||||
tags=["budget & spend Tracking"],
|
tags=["budget & spend Tracking"],
|
||||||
dependencies=[Depends(user_api_key_auth)],
|
dependencies=[Depends(user_api_key_auth)],
|
||||||
)
|
)
|
||||||
async def spend_user_fn():
|
async def spend_user_fn(
|
||||||
|
user_id: Optional[str] = fastapi.Query(
|
||||||
|
default=None,
|
||||||
|
description="Get User Table row for user_id",
|
||||||
|
),
|
||||||
|
):
|
||||||
"""
|
"""
|
||||||
View all users created, ordered by spend
|
View all users created, ordered by spend
|
||||||
|
|
||||||
|
@ -2570,6 +2575,12 @@ async def spend_user_fn():
|
||||||
curl -X GET "http://0.0.0.0:8000/spend/users" \
|
curl -X GET "http://0.0.0.0:8000/spend/users" \
|
||||||
-H "Authorization: Bearer sk-1234"
|
-H "Authorization: Bearer sk-1234"
|
||||||
```
|
```
|
||||||
|
|
||||||
|
View User Table row for user_id
|
||||||
|
```
|
||||||
|
curl -X GET "http://0.0.0.0:8000/spend/users?user_id=1234" \
|
||||||
|
-H "Authorization: Bearer sk-1234"
|
||||||
|
```
|
||||||
"""
|
"""
|
||||||
global prisma_client
|
global prisma_client
|
||||||
try:
|
try:
|
||||||
|
@ -2578,6 +2589,12 @@ async def spend_user_fn():
|
||||||
f"Database not connected. Connect a database to your proxy - https://docs.litellm.ai/docs/simple_proxy#managing-auth---virtual-keys"
|
f"Database not connected. Connect a database to your proxy - https://docs.litellm.ai/docs/simple_proxy#managing-auth---virtual-keys"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
if user_id is not None:
|
||||||
|
user_info = await prisma_client.get_data(
|
||||||
|
table_name="user", query_type="find_unique", user_id=user_id
|
||||||
|
)
|
||||||
|
return [user_info]
|
||||||
|
else:
|
||||||
user_info = await prisma_client.get_data(
|
user_info = await prisma_client.get_data(
|
||||||
table_name="user", query_type="find_all"
|
table_name="user", query_type="find_all"
|
||||||
)
|
)
|
||||||
|
@ -2601,6 +2618,10 @@ async def view_spend_logs(
|
||||||
default=None,
|
default=None,
|
||||||
description="Get spend logs based on api key",
|
description="Get spend logs based on api key",
|
||||||
),
|
),
|
||||||
|
user_id: Optional[str] = fastapi.Query(
|
||||||
|
default=None,
|
||||||
|
description="Get spend logs based on user_id",
|
||||||
|
),
|
||||||
request_id: Optional[str] = fastapi.Query(
|
request_id: Optional[str] = fastapi.Query(
|
||||||
default=None,
|
default=None,
|
||||||
description="request_id to get spend logs for specific request_id. If none passed then pass spend logs for all requests",
|
description="request_id to get spend logs for specific request_id. If none passed then pass spend logs for all requests",
|
||||||
|
@ -2626,6 +2647,12 @@ async def view_spend_logs(
|
||||||
curl -X GET "http://0.0.0.0:8000/spend/logs?api_key=sk-Fn8Ej39NkBQmUagFEoUWPQ" \
|
curl -X GET "http://0.0.0.0:8000/spend/logs?api_key=sk-Fn8Ej39NkBQmUagFEoUWPQ" \
|
||||||
-H "Authorization: Bearer sk-1234"
|
-H "Authorization: Bearer sk-1234"
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Example Request for specific user_id
|
||||||
|
```
|
||||||
|
curl -X GET "http://0.0.0.0:8000/spend/logs?user_id=ishaan@berri.ai" \
|
||||||
|
-H "Authorization: Bearer sk-1234"
|
||||||
|
```
|
||||||
"""
|
"""
|
||||||
global prisma_client
|
global prisma_client
|
||||||
try:
|
try:
|
||||||
|
@ -2655,6 +2682,16 @@ async def view_spend_logs(
|
||||||
key_val={"key": "request_id", "value": request_id},
|
key_val={"key": "request_id", "value": request_id},
|
||||||
)
|
)
|
||||||
return [spend_log]
|
return [spend_log]
|
||||||
|
elif user_id is not None:
|
||||||
|
spend_log = await prisma_client.get_data(
|
||||||
|
table_name="spend",
|
||||||
|
query_type="find_all",
|
||||||
|
key_val={"key": "user", "value": user_id},
|
||||||
|
)
|
||||||
|
if isinstance(spend_log, list):
|
||||||
|
return spend_log
|
||||||
|
else:
|
||||||
|
return [spend_log]
|
||||||
else:
|
else:
|
||||||
spend_logs = await prisma_client.get_data(
|
spend_logs = await prisma_client.get_data(
|
||||||
table_name="spend", query_type="find_all"
|
table_name="spend", query_type="find_all"
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue