Kennedy Johnson
Bootstrap AIUniversityFinder college advisor panel from LaunchPad template.
e14ce19
Raw
History Blame Contribute Delete
1.25 kB
from fastapi import APIRouter
from app.config import get_settings
from app.core.secrets import normalize_secret
from app.version import __version__
import logging
import os
logger = logging.getLogger(__name__)
router = APIRouter()
# NB: keep this OFF the bare "/" path. In the single-container / Hugging Face
# Spaces deployment the React SPA is mounted at "/" as a catch-all, and any
# API route registered at exactly "/" would shadow the SPA's index.html and
# leave users staring at this JSON banner instead of the app.
@router.get("/api/health")
def root():
settings = get_settings()
title = settings.app.title
openai_key_configured = bool(
normalize_secret(settings.llm.openai.api_key)
or normalize_secret(os.getenv("OPENAI_API_KEY", ""))
)
return {
"message": f"{title} Backend is up and running",
"version": __version__,
"llm_provider": settings.llm.provider,
"openai_api_key_configured": openai_key_configured,
"features": [
"Configurable Personas",
"Improved Session Management",
"Unified Context Handling",
"Ollama Support",
"Gemini API Support",
"Provider Switching"
]
}