"""模型列表与模型文件下载。""" from fastapi import APIRouter, Depends, HTTPException from fastapi.responses import FileResponse from auth import require_auth from services import model_service router = APIRouter() @router.get("/api/models") def list_models(_auth: str = Depends(require_auth)) -> list[str]: return model_service.list_models() @router.get("/models/{name}") def get_model(name: str) -> FileResponse: path = model_service.resolve_model(name) if path is None: raise HTTPException(status_code=404, detail="模型不存在") return FileResponse(path, media_type=model_service.media_type(path))