""" Generate router """ import logging from contextlib import asynccontextmanager from fastapi import APIRouter from api.schema import SuccessDetail from .schema import InferenceRequest @asynccontextmanager async def lifespan(app: APIRouter): logger = logging.getLogger("uvicorn") logger.info("Starting inference router...") yield logger.info("Shutting down inference router...") router = APIRouter( lifespan=lifespan, ) @router.get( "/", status_code=200, response_model=SuccessDetail, ) async def home(): """ Inference home page. """ return {"success": "Welcome to the inference submodule!"} @router.post( "/match", status_code=200, response_model=SuccessDetail, ) async def match( inference: InferenceRequest, ): """ Match inference. """ return {"success": "Inference matched successfully!"}