File size: 578 Bytes
5eec702
 
 
685f6ec
 
 
 
5eec702
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
from typing import List, Optional, Union
from pydantic import BaseModel, Field

class ImageResponse(BaseModel):
    images: Union[str, List[str]]  # Can handle both URLs and Base64 data
    alt: Optional[str] = ""

class MessageContent(BaseModel):
    role: str
    content: Union[str, List[dict]]  # Handle both text and complex structures like images

class ChatRequest(BaseModel):
    model: str
    messages: List[MessageContent]
    stream: Optional[bool] = False
    temperature: Optional[float] = 0.7
    top_p: Optional[float] = 0.9
    max_tokens: Optional[int] = 8192