Skip to main content
Devuelve metadatos sobre el modelo de clasificación activo. La respuesta varía dependiendo de si el archivo ml-api/models/modelo.pkl está presente o no.
GET http://localhost:8000/api/v1/modelo/info

Respuesta

version
string
Versión del servicio de clasificación.
  • "0.1.0-reglas" — modo de reglas heurísticas (sin modelo entrenado)
  • "1.0.0-ml" — modelo Random Forest cargado desde models/modelo.pkl
modelo_cargado
boolean
true si el archivo modelo.pkl fue cargado exitosamente. false cuando el sistema opera en modo de reglas.
tipo
string
Descripción textual del clasificador activo.
  • "Random Forest" cuando el modelo está cargado
  • "Reglas heuristicas" cuando opera como fallback
clases
array
Lista de las clases de salida del semáforo que el modelo puede predecir: ["VERDE", "AMARILLO", "ROJO", "ROJO_URGENTE"]
accuracy
float
Exactitud del modelo sobre el conjunto de prueba (25% holdout — train_size = 0.75). Solo presente cuando modelo_cargado es true y el archivo models/metrics.json existe.
cv_mean
float
Media de la validación cruzada (5-fold CV). Solo presente con modelo cargado y métricas disponibles.
cv_std
float
Desviación estándar de la validación cruzada. Solo presente con modelo cargado y métricas disponibles.
n_estimators
integer
Número de árboles del Random Forest. Solo presente con modelo cargado y métricas disponibles.

Ejemplos de respuesta

Modo reglas heurísticas (sin modelo entrenado)

{
  "version": "0.1.0-reglas",
  "modelo_cargado": false,
  "tipo": "Reglas heuristicas",
  "clases": ["VERDE", "AMARILLO", "ROJO", "ROJO_URGENTE"]
}

Modo ML (modelo Random Forest cargado)

{
  "version": "1.0.0-ml",
  "modelo_cargado": true,
  "tipo": "Random Forest",
  "clases": ["VERDE", "AMARILLO", "ROJO", "ROJO_URGENTE"],
  "accuracy": 0.913,
  "cv_mean": 0.897,
  "cv_std": 0.021,
  "n_estimators": 300
}
curl http://localhost:8000/api/v1/modelo/info

Endpoints de salud

GET /health

Health check mínimo para balanceadores de carga y plataformas como Railway o Render.
GET http://localhost:8000/health
Respuesta:
status
string
Siempre retorna "healthy" con código HTTP 200.
{ "status": "healthy" }
curl http://localhost:8000/health

GET /

Endpoint raíz. Confirma que el servicio FastAPI está activo y responde.
GET http://localhost:8000/
Respuesta:
status
string
Valor "ok".
mensaje
string
Mensaje descriptivo: "PsicoScan ML API activa".
{ "status": "ok", "mensaje": "PsicoScan ML API activa" }
curl http://localhost:8000/

Documentación interactiva

FastAPI genera automáticamente documentación interactiva en:
URLInterfaz
http://localhost:8000/docsSwagger UI
http://localhost:8000/redocReDoc

Build docs developers (and LLMs) love