32 lines
847 B
Python
32 lines
847 B
Python
"""Schemas for model management operations."""
|
|
from typing import List
|
|
|
|
from pydantic import BaseModel, Field
|
|
|
|
|
|
class ModelDownloadRequest(BaseModel):
|
|
"""Request to download models."""
|
|
models: List[str] = Field(
|
|
description='List of model names to download'
|
|
)
|
|
provider: str = Field(
|
|
default='huggingface',
|
|
description='Repository provider (huggingface, gdrive, etc.)'
|
|
)
|
|
|
|
|
|
class ModelDownloadResponse(BaseModel):
|
|
"""Response from model download."""
|
|
success: bool
|
|
message: str
|
|
downloaded: List[str] = Field(default_factory=list)
|
|
failed: List[str] = Field(default_factory=list)
|
|
errors: dict = Field(default_factory=dict)
|
|
|
|
|
|
class ModelListResponse(BaseModel):
|
|
"""Response containing list of models."""
|
|
available_models: List[dict]
|
|
total_models: int
|
|
local_models: int
|