common.py 961 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  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. class PaginationParams(BaseModel):
  26. page: int = Field(default=1, ge=1)
  27. page_size: int = Field(default=20, ge=1, le=100)
  28. class PaginatedResponse[T](BaseModel):
  29. items: list[T]
  30. total: int
  31. page: int
  32. page_size: int
  33. class ErrorResponse(BaseModel):
  34. detail: str
  35. code: str = "error"