from pydantic import BaseModel from typing import List, Optional, Dict, Any from datetime import datetime from ..core.ark_client import config class ChatMessage(BaseModel): role: str # "user" | "assistant" | "system" content: str timestamp: Optional[datetime] = None response_id: Optional[str] = None # 帖子请求 class CircleRequest(BaseModel): id: str #帖子的主键 class ChatRequest(BaseModel): messages: List[ChatMessage] model: Optional[str] = config.MODEL_NAME stream: Optional[bool] = False source: Optional[str] = None # source=app 时走第三方 token 认证 token: Optional[str] = None # App 端传入的第三方 token class ChatResponse(BaseModel): message: ChatMessage model: str usage: Optional[Dict[str, Any]] = None response_id: Optional[str] = None class StreamResponse(BaseModel): content: str finished: bool model: str timestamp: datetime