annotation_platform.py 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. """标注平台数据模型。"""
  2. from pydantic import BaseModel
  3. class AnnotationProjectItem(BaseModel):
  4. project_id: str
  5. project_name: str
  6. description: str = ""
  7. project_type: str = "" # "image" | "text"
  8. task_type: str = ""
  9. status: str = ""
  10. created_by: str = ""
  11. created_at: str = ""
  12. updated_at: str = ""
  13. task_count: int = 0
  14. completed_task_count: int = 0
  15. class AnnotationProjectListResponse(BaseModel):
  16. items: list[AnnotationProjectItem]
  17. total: int
  18. page: int
  19. page_size: int
  20. class AnnotationProjectDetailResponse(BaseModel):
  21. project_id: str
  22. project_name: str
  23. description: str = ""
  24. project_type: str = ""
  25. task_type: str = ""
  26. status: str = ""
  27. created_by: str = ""
  28. created_at: str = ""
  29. updated_at: str = ""
  30. task_count: int = 0
  31. completed_task_count: int = 0
  32. assigned_task_count: int = 0
  33. completion_percentage: float = 0.0
  34. class ProjectImportResponse(BaseModel):
  35. project_id: str
  36. project_name: str
  37. format: str
  38. total_exported: int
  39. dataset_id: str
  40. dataset_name: str