Add training monitor implementation

Signed-off-by: Felipe Cardoso <felipe.cardoso@hotmail.it>
This commit is contained in:
2025-01-23 09:45:07 +01:00
parent 36ce6ac5ef
commit 1c4d78e916
5 changed files with 174 additions and 13 deletions

View File

@@ -1,29 +1,29 @@
from fastapi import APIRouter, HTTPException
from fastapi import APIRouter, HTTPException, Request
from app.models.training import TrainingStatus
from app.services.training_monitor import TrainingMonitor
router = APIRouter()
monitor = TrainingMonitor()
@router.get("/status", response_model=TrainingStatus)
async def get_training_status():
async def get_training_status(request: Request):
"""
Get current training status including progress, loss, and learning rate
"""
try:
monitor = request.app.state.training_monitor
return await monitor.get_status()
except Exception as e:
raise HTTPException(status_code=500, detail=str(e))
@router.get("/log")
async def get_training_log():
async def get_training_log(request: Request):
"""
Get recent training log entries
"""
try:
monitor = request.app.state.training_monitor
return await monitor.get_log()
except Exception as e:
raise HTTPException(status_code=500, detail=str(e))