| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 | 
							- from typing import List, Optional, Literal
 
- from pydantic import BaseModel, Field
 
- Role = Literal["system", "user", "assistant"]
 
- class ChatMessage(BaseModel):
 
-     role: Role
 
-     content: str
 
- class ChatRequest(BaseModel):
 
-     messages: List[ChatMessage] = Field(min_length=1)
 
-     model: Optional[str] = None
 
-     temperature: Optional[float] = Field(default=None, ge=0, le=2)
 
-     max_tokens: Optional[int] = Field(default=None, gt=0)
 
- class Usage(BaseModel):
 
-     prompt_tokens: int
 
-     completion_tokens: int
 
-     total_tokens: int
 
- class ChatResponse(BaseModel):
 
-     content: str
 
-     model: Optional[str] = None
 
-     usage: Optional[Usage] = None
 
- class TextToSpeechPayload(BaseModel):
 
-     audio_url: str
 
- class CopywritingEvaluationPayload(BaseModel):
 
-     content: bool
 
-     reason: str
 
-     corrected_msg: str
 
- class DataResponse(BaseModel):
 
-     code: int
 
-     data: object
 
-     msg: Optional[str] = None
 
- class TextToSpeechRequest(BaseModel):
 
-     volume: int = 1
 
-     pitch: float = 1
 
-     rate: float = 1
 
-     filename: str
 
-     text: str
 
-     model: str
 
- class UnderstandImageRequest(BaseModel):
 
-     image_url: str
 
-     model: str
 
- class CopywritingEvaluationRequest(BaseModel):
 
-     image_url: str
 
-     text: str
 
-     model: str
 
 
  |