""" Bharat Tech Atlas — Chat Pydantic Models Request/response schemas for the chat API. """ from pydantic import BaseModel, Field from typing import List, Optional, Literal class ChatMessage(BaseModel): role: Literal["system", "user", "assistant"] = "user" content: str = Field(..., min_length=1, max_length=2000) class ChatRequest(BaseModel): messages: List[ChatMessage] = Field(..., min_length=1, max_length=20) stream: bool = False class ChatResponse(BaseModel): role: Literal["assistant"] = "assistant" content: str model: str sources: List[str] = [] safety: dict = {}