from pydantic import BaseModel from typing import List, Union class DataAnswer(BaseModel): answer: str class CreateNewChat(BaseModel): idMongo: str chat_name:str from datetime import datetime class ChatResponse(BaseModel): chat_id: str chat_name: str timestamp: datetime # Thời gian tạo hoặc cập nhật chat class UserChatHistoryResponse(BaseModel): user_id: int user_name: str chat_list: List[ChatResponse] class DetailResponse(BaseModel): id: str you_message:str ai_message:str timestamp: datetime class ListDetailResponse(BaseModel): chat_id:str chat_name:str list_detail_response: List[DetailResponse] class DataAnswer1(BaseModel): id: int answer: str data_relevant: List[str] sources: List[str] class FileMetadata(BaseModel): source: str class FileResponse(BaseModel): page_content: str metadata: FileMetadata type: str class DataExtractFile(BaseModel): text_all: Union[List[FileResponse], None, str] class Message(BaseModel): message: str class CheckModel(BaseModel): check: bool class ResponseQuery2Upgrade(BaseModel): status: int data: DataAnswer class ResponseQuery2UpgradeOld(BaseModel): status: int data: DataAnswer1 class ResponseExtractFile(BaseModel): status: int data: DataExtractFile class ResponseDeleteChat(BaseModel): status: int data: Message class ReponseError(BaseModel): status: int data: Message