from typing import List, Optional, Union | |
from pydantic import BaseModel | |
class Message(BaseModel): | |
role: str | |
content: Union[str, List[dict]] # Allowing for both text and complex structures like images | |
class ChatRequest(BaseModel): | |
model: str | |
messages: List[Message] | |
stream: Optional[bool] = False | |
temperature: Optional[float] = 0.7 | |
top_p: Optional[float] = 0.9 | |
max_tokens: Optional[int] = 8192 | |