from pydantic import BaseModel from typing import Optional, List, Dict class ChatRequest(BaseModel): message: str thread_id: str = "default" username: str = "default" backend_url: str = "" token: str = "" include_thoughts: bool = False include_tool_calls: bool = False class MessageModel(BaseModel): type: str content: str tool_calls: Optional[List[Dict]] = None tool_call_id: Optional[str] = None name: Optional[str] = None class ChatResponse(BaseModel): final_answer: str all_ai_messages: List[MessageModel] all_messages: List[MessageModel] tool_calls: List[Dict] thread_id: str user_identifier: str backend_config: Dict success: bool error: Optional[str] = None class OCRRequest(BaseModel): """图片处理请求""" image: str type: str file_type: int = 1 class MessageCreateBill(BaseModel): """创建单据请求""" message: str document_type: str = None