gptsite / gradio /data_classes.py
microhan's picture
update module gradio
d4576ce
"""Pydantic data models and other dataclasses. This is the only file that uses Optional[]
typing syntax instead of | None syntax to work with pydantic"""
from enum import Enum, auto
from typing import Any, Dict, List, Optional, Union
from pydantic import BaseModel
class PredictBody(BaseModel):
session_hash: Optional[str]
event_id: Optional[str]
data: List[Any]
event_data: Optional[Any]
fn_index: Optional[int]
batched: Optional[
bool
] = False # Whether the data is a batch of samples (i.e. called from the queue if batch=True) or a single sample (i.e. called from the UI)
request: Optional[
Union[Dict, List[Dict]]
] = None # dictionary of request headers, query parameters, url, etc. (used to to pass in request for queuing)
class ResetBody(BaseModel):
session_hash: str
fn_index: int
class InterfaceTypes(Enum):
STANDARD = auto()
INPUT_ONLY = auto()
OUTPUT_ONLY = auto()
UNIFIED = auto()
class Estimation(BaseModel):
msg: Optional[str] = "estimation"
rank: Optional[int] = None
queue_size: int
avg_event_process_time: Optional[float]
avg_event_concurrent_process_time: Optional[float]
rank_eta: Optional[float] = None
queue_eta: float
class ProgressUnit(BaseModel):
index: Optional[int]
length: Optional[int]
unit: Optional[str]
progress: Optional[float]
desc: Optional[str]
class Progress(BaseModel):
msg: str = "progress"
progress_data: List[ProgressUnit] = []