refactor: move server/ to tools/server/
This commit is contained in:
51
tools/server/routes_verify.py
Normal file
51
tools/server/routes_verify.py
Normal file
@@ -0,0 +1,51 @@
|
||||
# ai_mouse/server/routes_verify.py
|
||||
"""Verification route: generate trajectories."""
|
||||
from __future__ import annotations
|
||||
|
||||
import logging
|
||||
|
||||
from fastapi import APIRouter, HTTPException
|
||||
from pydantic import BaseModel
|
||||
|
||||
from .deps import get_data_dir
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
router = APIRouter()
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# Request models
|
||||
# ---------------------------------------------------------------------------
|
||||
|
||||
|
||||
class VerifyRequest(BaseModel):
|
||||
start: list[int]
|
||||
end: list[int]
|
||||
n_paths: int = 5
|
||||
model_dir: str | None = None
|
||||
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# Routes
|
||||
# ---------------------------------------------------------------------------
|
||||
|
||||
|
||||
@router.post("/verify")
|
||||
def verify(req: VerifyRequest) -> dict:
|
||||
from ai_mouse.generator import generate
|
||||
|
||||
n = max(1, min(req.n_paths, 12))
|
||||
models_dir = get_data_dir() / "models_v2"
|
||||
model_dir_arg = req.model_dir if req.model_dir else str(models_dir)
|
||||
start = tuple(req.start) # type: ignore[arg-type]
|
||||
end = tuple(req.end) # type: ignore[arg-type]
|
||||
|
||||
paths = []
|
||||
try:
|
||||
for _ in range(n):
|
||||
pts = generate(start=start, end=end, model_dir=model_dir_arg)
|
||||
paths.append([[x, y, t] for x, y, t in pts])
|
||||
except FileNotFoundError as exc:
|
||||
raise HTTPException(status_code=404, detail=str(exc)) from exc
|
||||
|
||||
return {"paths": paths}
|
||||
Reference in New Issue
Block a user