Spaces:
Configuration error
Configuration error
| from typing import List, Optional, Union | |
| from pydantic import BaseModel, ConfigDict, Field | |
| from inference.core.managers.entities import ModelDescription | |
| class ServerVersionInfo(BaseModel): | |
| """Server version information. | |
| Attributes: | |
| name (str): Server name. | |
| version (str): Server version. | |
| uuid (str): Server UUID. | |
| """ | |
| name: str = Field(examples=["Roboflow Inference Server"]) | |
| version: str = Field(examples=["0.0.1"]) | |
| uuid: str = Field(examples=["9c18c6f4-2266-41fb-8a0f-c12ae28f6fbe"]) | |
| class ModelDescriptionEntity(BaseModel): | |
| model_config = ConfigDict(protected_namespaces=()) | |
| model_id: str = Field( | |
| description="Identifier of the model", examples=["some-project/3"] | |
| ) | |
| task_type: str = Field( | |
| description="Type of the task that the model performs", | |
| examples=["classification"], | |
| ) | |
| batch_size: Optional[Union[int, str]] = Field( | |
| None, | |
| description="Batch size accepted by the model (if registered).", | |
| ) | |
| input_height: Optional[int] = Field( | |
| None, | |
| description="Image input height accepted by the model (if registered).", | |
| ) | |
| input_width: Optional[int] = Field( | |
| None, | |
| description="Image input width accepted by the model (if registered).", | |
| ) | |
| def from_model_description( | |
| cls, model_description: ModelDescription | |
| ) -> "ModelDescriptionEntity": | |
| return cls( | |
| model_id=model_description.model_id, | |
| task_type=model_description.task_type, | |
| batch_size=model_description.batch_size, | |
| input_height=model_description.input_height, | |
| input_width=model_description.input_width, | |
| ) | |
| class ModelsDescriptions(BaseModel): | |
| models: List[ModelDescriptionEntity] = Field( | |
| description="List of models that are loaded by model manager.", | |
| ) | |
| def from_models_descriptions( | |
| cls, models_descriptions: List[ModelDescription] | |
| ) -> "ModelsDescriptions": | |
| return cls( | |
| models=[ | |
| ModelDescriptionEntity.from_model_description( | |
| model_description=model_description | |
| ) | |
| for model_description in models_descriptions | |
| ] | |
| ) | |