model.py 685 B

1234567891011121314151617181920212223
  1. from pydantic import BaseModel, Field
  2. class ModelInfo(BaseModel):
  3. id: str
  4. name: str
  5. model_type: str
  6. path: str | None = None
  7. is_downloaded: bool = False
  8. context_length: int | None = None
  9. supported_peft_methods: list[str] = []
  10. class ModelDownloadRequest(BaseModel):
  11. model_id: str = Field(..., description="HuggingFace or ModelScope model ID, e.g. 'meta-llama/Llama-3.1-8B'")
  12. use_modelscope: bool = Field(default=False, description="Use ModelScope instead of HuggingFace")
  13. class ModelDownloadResponse(BaseModel):
  14. model_id: str
  15. status: str # "downloading" | "completed" | "failed"
  16. path: str | None = None
  17. error: str | None = None