model_evaluations.py 1.0 KB

123456789101112131415161718192021222324252627282930313233343536
  1. from typing import List, Optional, Dict
  2. from pydantic import BaseModel, ConfigDict
  3. from gpustack.schemas.model_sets import ModelSpec
  4. class ResourceClaim(BaseModel):
  5. ram: int # in bytes
  6. vram: int # in bytes
  7. class ModelEvaluationRequest(BaseModel):
  8. cluster_id: Optional[int] = None
  9. model_specs: Optional[List[ModelSpec]] = None
  10. model_config = ConfigDict(protected_namespaces=())
  11. class ModelEvaluationResult(BaseModel):
  12. compatible: bool = True
  13. compatibility_messages: Optional[List[str]] = []
  14. scheduling_messages: Optional[List[str]] = []
  15. default_spec: Optional[ModelSpec] = None
  16. resource_claim: Optional[ResourceClaim] = None
  17. resource_claim_by_cluster_id: Optional[Dict[int, ResourceClaim]] = None
  18. error: Optional[bool] = None
  19. error_message: Optional[str] = None
  20. model_config = ConfigDict(protected_namespaces=())
  21. class ModelEvaluationResponse(BaseModel):
  22. results: List[ModelEvaluationResult] = []
  23. model_config = ConfigDict(protected_namespaces=())