from pydantic import BaseModel from typing import Union, Optional, List class CrudChatModel(BaseModel): is_success: bool message: str class AiChatModel(BaseModel): """ 菜单表对应pydantic模型 """ chat_id: Optional[str] session_id: Optional[str] session_name: Optional[str] type: Optional[str] is_end: Optional[bool] is_stop: Optional[bool] copy_text: Optional[str] user: Optional[int] time: Optional[str] content: Optional[str] operate: Optional[str] thumb_down_reason: Optional[str] file: Optional[str] class ThumbOperateModel(BaseModel): chat_id: str operate: str thumb_down_reason: str class DownloadFile(BaseModel): file: str bucket: str session_id: str class AiChatListModel(BaseModel): chats: List[Union[AiChatModel, None]]