File size: 735 Bytes
72e2b6e
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
from fastapi import APIRouter, Request

from api.schemas import ModelInfo, ModelsResponse

router = APIRouter()

REGISTERED_MODELS = [
    {"name": "intent-classifier-logreg", "alias": "challenger"},
    {"name": "intent-classifier-svm", "alias": "challenger"},
    {"name": "intent-classifier-distilbert", "alias": "champion"},
]


@router.get("/models", response_model=ModelsResponse)
def list_models() -> ModelsResponse:
    return ModelsResponse(models=[ModelInfo(name=m["name"], alias=m["alias"]) for m in REGISTERED_MODELS])


@router.get("/models/loaded")
def list_loaded_models(request: Request) -> dict:
    predictors = request.app.state.predictors
    return {"loaded_models": list(predictors.keys())}