from fastapi import APIRouter from app.config import get_settings from app.schemas.models import HealthResponse from app.services.llm_client import get_llm from app.services.monai_preprocess import monai_available from app.services.rag_pipeline import get_rag, langchain_available from app.services.yolo_detector import yolo_available router = APIRouter(tags=["health"]) @router.get("/health", response_model=HealthResponse) def health() -> HealthResponse: settings = get_settings() rag = get_rag() llm = get_llm() return HealthResponse( status="ok", yolo_available=yolo_available(), monai_available=monai_available(), langchain_available=langchain_available(), llm_configured=llm.enabled, demo_mode=settings.demo_mode, knowledge_docs=rag.doc_count(), )