deployment.py 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. from pydantic import BaseModel
  2. class DeployConfig(BaseModel):
  3. job_id: str
  4. merge_with_base: bool = False
  5. export_format: str = "safetensors" # safetensors | gguf
  6. class DeployServeConfig(BaseModel):
  7. """部署为在线服务的配置。"""
  8. job_id: str
  9. merge_with_base: bool = True # 部署为服务时默认合并基础模型
  10. port: int | None = None # 可选指定端口,为空则自动分配
  11. host: str = "0.0.0.0" # 监听地址
  12. class DeployResponse(BaseModel):
  13. task_id: str | None = None # 部署任务 ID(用于轮询状态)
  14. job_id: str
  15. status: str
  16. deploy_mode: str = "export" # export | serve
  17. progress: float = 0.0
  18. output_path: str | None = None
  19. endpoint_url: str | None = None # serve 模式下的 base_url
  20. port: int | None = None
  21. error: str | None = None
  22. class DeployedServiceInfo(BaseModel):
  23. """已部署的在线服务信息。"""
  24. task_id: str
  25. job_id: str
  26. status: str # running | stopped | error
  27. endpoint_url: str | None = None
  28. base_url: str | None = None # 同 endpoint_url,方便 OpenAI SDK 使用
  29. port: int | None = None
  30. output_path: str | None = None
  31. created_at: str | None = None
  32. error: str | None = None