Files
jc-video-recognize/apps/server/api/models.py
wwh 8fb58c75fe Initial commit: Video detection platform with YOLO models
Features:
- Fire detection (YOLOv10)
- Helmet detection (YOLOv8)
- Crowd detection (YOLOv8)
- Smoking detection (YOLOv8)
- Loitering detection (YOLOv8)

Tech Stack:
- Frontend: Vue 3 + Vite + Element Plus
- Backend: FastAPI + WebSocket
- Monorepo: pnpm workspace + Turbo
- Docker support included
2026-05-18 10:54:10 +08:00

29 lines
905 B
Python

from fastapi import APIRouter
from models.schemas import ModelInfo
router = APIRouter()
@router.get("/models", response_model=list[ModelInfo])
async def get_models():
from main import model_service
models = model_service.get_available_models()
return models
@router.get("/models/{model_id}", response_model=ModelInfo)
async def get_model(model_id: str):
from main import model_service
models = model_service.get_available_models()
for model in models:
if model['id'] == model_id:
return model
return None
@router.post("/models/{model_id}/load")
async def load_model(model_id: str):
from main import model_service
model = await model_service.load_model(model_id)
if model:
return {"success": True, "message": f"模型加载成功: {model_id}"}
else:
return {"success": False, "message": f"模型加载失败: {model_id}"}