2026-05-24 21:18:34 +08:00
|
|
|
from fastapi import APIRouter, HTTPException
|
|
|
|
|
|
|
|
|
|
from engine.loader import get_inference_lock, reload_engine
|
|
|
|
|
from schema import ReloadRequest, ReloadResponse
|
|
|
|
|
|
|
|
|
|
router = APIRouter()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@router.post("/model/reload", response_model=ReloadResponse)
|
|
|
|
|
async def model_reload(req: ReloadRequest):
|
|
|
|
|
async with get_inference_lock():
|
|
|
|
|
try:
|
|
|
|
|
engine = reload_engine(req.model_path, req.runtime)
|
|
|
|
|
except Exception as e:
|
|
|
|
|
raise HTTPException(status_code=500, detail=f"模型重载失败: {e}")
|
|
|
|
|
return ReloadResponse(status="ok", model_version=engine.model_version)
|