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.
51 lines
1.2 KiB
51 lines
1.2 KiB
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
|
|
|
|
|
|
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
|
|
|
|
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]]
|
|
|