2.2 KiB
2.2 KiB
ML-Serving-API
Diese Dokumentation beschreibt die REST-Endpoints für ML-Vorhersagen in SillyHome Next.
Basis-URL
- Standard:
http://127.0.0.1:8000/ml - Health:
/health - Modelle:
/models - Einzelvorhersage:
/predict - Batchvorhersage:
/batch
Der Standard-Start erfolgt über uvicorn backend.app:app --reload, danach steht die API unter /ml bereit.
Endpoints
GET /ml/health
Health-Check der ML-Services.
Beispielantwort
{
"status": "ok",
"updated_at": "2026-06-11T12:00:00Z"
}
GET /ml/models
Listet alle registrierten Modell-Artefakte auf.
Beispielantwort
{
"models": ["default"]
}
POST /ml/predict
Einzelne Vorhersage für einen Sensor.
Request
{
"modelId": "default",
"sensor_id": "sensor.kitchen",
"values": {"temperature": 21.0}
}
Antwort
{
"model_id": "default",
"sensor_id": "sensor.kitchen",
"prediction": "default:sensor.kitchen:{'temperature': 21.0}"
}
POST /ml/batch
Batch-Vorhersage für mehrere Sensorwerte.
Request
{
"requests": [
{
"modelId": "default",
"sensor_id": "sensor.kitchen",
"values": {"temperature": 21.0}
},
{
"modelId": "default",
"sensor_id": "sensor.bedroom",
"values": {"temperature": 18.5}
}
]
}
Antwort
{
"predictions": [
{
"model_id": "default",
"sensor_id": "sensor.kitchen",
"prediction": "default:sensor.kitchen:{'temperature': 21.0}"
},
{
"model_id": "default",
"sensor_id": "sensor.bedroom",
"prediction": "default:sensor.bedroom:{'temperature': 18.5}"
}
]
}
Fehlerfälle
400 Bad Request: Fehlende oder ungültige Felder.404 Not Found: Modell oder Sensor nicht registriert.500 Internal Server Error: Registry nicht initialisiert oder unerwarteter Fehler.
Betrieb
Beim Start wird automatisch ein Default-Artefakt erstellt, falls noch kein Modell registriert ist. Neue Modelle müssen zusätzlich über ModelRegistry.register(...) eingetragen werden.
Verweise
app/ml/predictor.pyapp/ml/registry/model_registry.pybackend/routes/ml.py