common.py 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. from datetime import datetime
  2. from enum import Enum
  3. from typing import Optional
  4. from pydantic import BaseModel, Field
  5. class JobStatus(str, Enum):
  6. PENDING = "pending"
  7. QUEUED = "queued"
  8. PREPROCESSING = "preprocessing"
  9. TRAINING = "training"
  10. COMPLETED = "completed"
  11. EVALUATING = "evaluating"
  12. EVALUATION_DONE = "evaluation_done"
  13. FAILED = "failed"
  14. CANCELLED = "cancelled"
  15. class ModelType(str, Enum):
  16. TEXT = "text"
  17. VISION = "vision"
  18. MULTIMODAL = "multimodal"
  19. class PeftMethod(str, Enum):
  20. LORA = "lora"
  21. QLORA = "qlora"
  22. IA3 = "ia3"
  23. ADALORA = "adalora"
  24. PREFIX_TUNING = "prefix_tuning"
  25. from typing import Generic, Optional, TypeVar
  26. T = TypeVar("T")
  27. class PaginationParams(BaseModel):
  28. page: int = Field(default=1, ge=1)
  29. page_size: int = Field(default=20, ge=1, le=100)
  30. class PaginatedResponse(BaseModel, Generic[T]):
  31. items: list[T]
  32. total: int
  33. page: int
  34. page_size: int
  35. class ErrorResponse(BaseModel):
  36. detail: str
  37. code: str = "error"