20 lines
952 B
Python
20 lines
952 B
Python
from typing import Any, Dict, Optional
|
|
|
|
from pydantic import BaseModel, Field
|
|
|
|
|
|
class MessagesDTO(BaseModel):
|
|
"""messages 表字段契约,对齐 Java Messages 实体。"""
|
|
|
|
message_id: str = Field(..., description="消息 ID")
|
|
conversation_id: str = Field(..., description="会话 ID")
|
|
user: Optional[str] = Field(default=None, description="用户")
|
|
query: str = Field(..., description="用户输入 / 提问内容")
|
|
answer: Optional[str] = Field(default=None, description="回答消息内容")
|
|
feedback: Optional[str] = Field(default=None, description="点赞 like / 点踩 dislike")
|
|
feedback_content: Optional[str] = Field(default=None, description="点踩内容")
|
|
created_at: int = Field(..., description="创建时间(毫秒时间戳)")
|
|
updated_at: int = Field(..., description="更新时间(毫秒时间戳)")
|
|
log: Dict[str, Any] = Field(default_factory=dict, description="当前对话日志(JSON)")
|
|
|