from pydantic import BaseModel, Field


class RagChatSendMessageDTO(BaseModel):
    query: str = Field(..., min_length=1, description="用户问题")
    conversationId: str | None = Field(None, description="会话ID")
    appId: int | None = Field(None, description="聊天应用ID")


class RagConversationRenameDTO(BaseModel):
    name: str = Field(..., min_length=1, max_length=500, description="新会话名称")


class RagMessageFeedbackDTO(BaseModel):
    rating: str | None = Field(None, description="反馈: like/dislike/None")
