| 58 | |
| 59 | |
| 60 | class OpenAIChatCompletionRequest(BaseModel): |
| 61 | model: str |
| 62 | messages: List[OpenAIChatMessage] |
| 63 | stream: bool = False |
| 64 | temperature: Optional[float] = Field(None, ge=0.0, le=2.0) |
| 65 | top_p: Optional[float] = Field(None, ge=0.0, le=1.0) |
| 66 | max_tokens: Optional[int] = Field(None, ge=1) |
| 67 | stop: Optional[Union[str, List[str]]] = None |
| 68 | frequency_penalty: Optional[float] = Field(None, ge=-2.0, le=2.0) |
| 69 | presence_penalty: Optional[float] = Field(None, ge=-2.0, le=2.0) |
| 70 | n: Optional[int] = Field(1, ge=1, le=128) |
| 71 | seed: Optional[int] = None |
| 72 | response_format: Optional[Dict[str, Any]] = None |
| 73 | top_k: Optional[int] = Field(None, ge=1) |
| 74 | tools: Optional[List[OpenAITool]] = None |
| 75 | tool_choice: Optional[Union[str, Dict[str, Any]]] = None |
| 76 | |
| 77 | class Config: |
| 78 | extra = "allow" # Allow additional fields not explicitly defined |
| 79 | |
| 80 | |
| 81 | # 通用的聊天完成请求模型(兼容OpenAI和其他格式) |
nothing calls this directly
no outgoing calls
no test coverage detected