models.py 855 B

123456789101112131415161718192021222324252627282930
  1. from fastapi import APIRouter
  2. from app.schemas.model import ModelDownloadRequest, ModelDownloadResponse, ModelInfo
  3. router = APIRouter()
  4. @router.get("/", response_model=list[ModelInfo])
  5. async def list_models():
  6. """列出所有本地缓存的模型。"""
  7. return []
  8. @router.post("/download", response_model=ModelDownloadResponse)
  9. async def download_model(req: ModelDownloadRequest):
  10. """从 HuggingFace 或 ModelScope 下载模型。"""
  11. return ModelDownloadResponse(
  12. model_id=req.model_id, status="downloading", path=None, error=None
  13. )
  14. @router.get("/{model_id}", response_model=ModelInfo)
  15. async def get_model_info(model_id: str):
  16. """获取已缓存模型的详细信息。"""
  17. return ModelInfo(
  18. id=model_id,
  19. name=model_id.split("/")[-1],
  20. model_type="text",
  21. is_downloaded=False,
  22. )