26 lines
1.2 KiB
Plaintext
26 lines
1.2 KiB
Plaintext
@app.get("/api/v2/stats/model-usage")
|
|
async def model_usage_stats(
|
|
days: int = Query(default=7, ge=1, le=90),
|
|
purpose: str = Query(default="", pattern="^(chat|guard|knowledge)?$"),
|
|
provider_id: str = Query(default="", max_length=256),
|
|
model: str = Query(default="", max_length=512),
|
|
account_id: int | None = None,
|
|
principal: Principal = Depends(require("stats:read")),
|
|
) -> dict:
|
|
return database.model_usage_stats(
|
|
days, resolve_admin_tenant(principal, account_id), purpose, provider_id, model)
|
|
|
|
@app.get("/api/v2/stats/model-usage/log")
|
|
async def model_usage_log(
|
|
days: int = Query(default=7, ge=1, le=90),
|
|
limit: int = Query(default=50, ge=1, le=200),
|
|
offset: int = Query(default=0, ge=0),
|
|
purpose: str = Query(default="", pattern="^(chat|guard|knowledge)?$"),
|
|
provider_id: str = Query(default="", max_length=256),
|
|
model: str = Query(default="", max_length=512),
|
|
account_id: int | None = None,
|
|
principal: Principal = Depends(require("stats:read")),
|
|
) -> dict:
|
|
return database.list_model_usage(
|
|
days, limit, offset, resolve_admin_tenant(principal, account_id), purpose, provider_id, model)
|