Spaces:
Running
Running
File size: 866 Bytes
76db545 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | """GET /api/v1/health — model status and adapter availability."""
from __future__ import annotations
from fastapi import APIRouter, Depends, Request
from src.api.dependencies import get_adapter_manager
from src.api.schemas import HealthResponse
from src.engine.adapter_manager import AdapterManager
router = APIRouter()
@router.get("/health", response_model=HealthResponse)
async def health_check(
request: Request,
adapter_manager: AdapterManager = Depends(get_adapter_manager),
) -> HealthResponse:
model_loaded = hasattr(request.app.state, "transcriber")
return HealthResponse(
status="ok" if model_loaded else "loading",
model_loaded=model_loaded,
active_adapter=adapter_manager.get_active(),
adapters_available=adapter_manager.list_available(),
adapters_loaded=adapter_manager.list_loaded(),
)
|