Spaces:
Sleeping
Sleeping
| """ | |
| 数据模型定义 | |
| 定义所有API请求和响应的数据模型 | |
| """ | |
| from pydantic import BaseModel | |
| from typing import List, Dict, Optional, Union | |
| class ImageUrl(BaseModel): | |
| """Image URL model for vision content""" | |
| url: str | |
| detail: Optional[str] = "auto" | |
| class ContentPart(BaseModel): | |
| """Content part model for OpenAI's new content format""" | |
| type: str | |
| text: Optional[str] = None | |
| image_url: Optional[ImageUrl] = None | |
| class Message(BaseModel): | |
| role: str | |
| content: Optional[Union[str, List[ContentPart]]] = None | |
| tool_calls: Optional[List[Dict]] = None | |
| class ChatCompletionRequest(BaseModel): | |
| model: str = "MBZUAI-IFM/K2-Think" | |
| messages: List[Message] | |
| stream: bool = False | |
| temperature: float = 0.7 | |
| max_tokens: Optional[int] = None | |
| top_p: Optional[float] = None | |
| frequency_penalty: Optional[float] = None | |
| presence_penalty: Optional[float] = None | |
| stop: Optional[Union[str, List[str]]] = None | |
| tools: Optional[List[Dict]] = None | |
| tool_choice: Optional[Union[str, Dict]] = None | |
| class ModelInfo(BaseModel): | |
| id: str | |
| object: str = "model" | |
| created: int | |
| owned_by: str | |
| permission: List[Dict] = [] | |
| root: str | |
| parent: Optional[str] = None | |
| class ModelsResponse(BaseModel): | |
| object: str = "list" | |
| data: List[ModelInfo] |