27 lines
834 B
Python
27 lines
834 B
Python
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(),
|
|
)
|