feat(multimodal): 实现本地模型管线与请求用量配置
This commit is contained in:
@@ -0,0 +1,19 @@
|
||||
from datetime import datetime, timedelta, timezone
|
||||
from fastapi import APIRouter, Query
|
||||
from app.errors import ApiError
|
||||
from app.services.usage_service import aggregate
|
||||
|
||||
router = APIRouter(prefix="/api/usage", tags=["Usage"])
|
||||
|
||||
|
||||
@router.get("")
|
||||
async def usage(start: datetime | None = None, end: datetime | None = None,
|
||||
provider_id: str | None = Query(None, max_length=200), model: str | None = Query(None, max_length=200),
|
||||
source: str | None = None):
|
||||
end = end or datetime.now(timezone.utc)
|
||||
start = start or end - timedelta(days=7)
|
||||
if not start.tzinfo or not end.tzinfo or end <= start:
|
||||
raise ApiError(422, "INVALID_TIME_RANGE", "Provide timezone-aware start/end with end after start.")
|
||||
if source not in {None, "local", "api"}:
|
||||
raise ApiError(422, "INVALID_USAGE_SOURCE", "Unknown usage source.")
|
||||
return aggregate(start, end, provider_id, model, source)
|
||||
Reference in New Issue
Block a user