Files
more_dots/schemas/chat_message_request.py
T

24 lines
1.1 KiB
Python
Raw Normal View History

2026-03-24 18:07:22 +08:00
from typing import Any, List, Optional
2026-03-02 17:41:04 +08:00
from pydantic import BaseModel, ConfigDict, Field
class ChatMessageFileDTO(BaseModel):
2026-03-24 18:07:22 +08:00
"""文件输入模型(保持与前端 DTO 兼容,允许附带任意文件元数据)。"""
2026-03-02 17:41:04 +08:00
model_config = ConfigDict(extra="allow")
class ChatMessageRequestDTO(BaseModel):
2026-03-24 18:07:22 +08:00
"""/api/workflows/stream 请求模型(对齐前端 ChatMessageRequestDTO)。"""
2026-03-02 17:41:04 +08:00
model_config = ConfigDict(extra="forbid")
2026-03-24 18:07:22 +08:00
query: Optional[str] = Field(default=None, description="用户输入/提问内容。")
inputs: Any = Field(default_factory=dict, description="App 定义的变量值,默认 {}。")
response_mode: Optional[str] = Field(default=None, description="streaming 或 blocking。")
user: Optional[str] = Field(default=None, description="用户唯一标识。")
conversation_id: Optional[str] = Field(default=None, description="可选会话 ID。")
files: List[ChatMessageFileDTO] = Field(default_factory=list, description="可选文件列表。")
auto_generate_name: Optional[bool] = Field(default=None, description="兼容旧前端字段,当前后端忽略。")