You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

52 lines
1.2 KiB

10 months ago
from pydantic import BaseModel
from typing import Union, Optional, List
from pydantic import BaseModel, ConfigDict, Field, model_validator
from module_admin.annotation.pydantic_annotation import as_query
from pydantic.alias_generators import to_camel
10 months ago
class CrudChatModel(BaseModel):
is_success: bool
message: str
@as_query
class AiListQuery(BaseModel):
model_config = ConfigDict(alias_generator=to_camel, from_attributes=True)
session_id: str
page_num: int
page_size: int
10 months ago
class AiChatModel(BaseModel):
"""
菜单表对应pydantic模型
"""
chatId: Optional[str] = None
sessionId: Optional[str] = None
sessionName: Optional[str] = None
type: Optional[str] = None
isEnd: Optional[bool] = None
isStop: Optional[bool] = None
user: Optional[int] = None
time: Optional[str] = None
content: Optional[str] = None
operate: Optional[str] = None
thumbDownReason: Optional[str] = None
file: Optional[str] = None
class ThumbOperateModel(BaseModel):
chatId: str
operate: str
thumbDownReason: str
class DownloadFile(BaseModel):
file: str
bucket: str
sessionId: str
class AiChatListModel(BaseModel):
chats: List[Union[AiChatModel, None]]