from pydantic import BaseModel from typing import List, Optional, Dict, Any class ChatMessage(BaseModel): role: str # "user" or "assistant" content: str class ChatRequest(BaseModel): messages: List[ChatMessage] model: str = "sam-x-nano" max_tokens: Optional[int] = 512 temperature: Optional[float] = 0.8 top_k: Optional[int] = 40 top_p: Optional[float] = 0.9 repetition_penalty: Optional[float] = 1.1 stream: Optional[bool] = False class ChatResponse(BaseModel): id: str object: str = "chat.completion" created: int model: str choices: List[Dict[str, Any]] usage: Dict[str, int] class WorkerStatus(BaseModel): model_name: str is_active: bool load: float last_heartbeat: int