report.py 1.3 KB

123456789101112131415161718192021222324252627282930313233
  1. """
  2. 报告相关数据模型
  3. """
  4. from pydantic import BaseModel, Field
  5. from typing import Optional
  6. class ReportCompleteFlowRequest(BaseModel):
  7. """完整报告生成流程请求"""
  8. user_question: str = Field(..., description="用户问题")
  9. window_size: int = Field(default=5, description="窗口大小")
  10. n_results: int = Field(default=5, description="结果数量")
  11. ai_conversation_id: Optional[int] = Field(default=None, description="AI对话ID")
  12. is_network_search_enabled: bool = Field(default=False, description="是否启用联网搜索")
  13. enable_online_model: bool = Field(default=False, description="是否启用在线模型")
  14. class UpdateAIMessageRequest(BaseModel):
  15. """更新AI消息请求"""
  16. ai_message_id: int = Field(..., description="AI消息ID")
  17. content: str = Field(..., description="消息内容")
  18. class StopSSERequest(BaseModel):
  19. """停止SSE请求"""
  20. ai_conversation_id: int = Field(..., description="AI对话ID")
  21. class StreamChatRequest(BaseModel):
  22. """流式聊天请求(用于降级)"""
  23. message: str = Field(..., description="用户消息")
  24. ai_conversation_id: Optional[int] = Field(default=None, description="AI对话ID")
  25. business_type: int = Field(default=0, description="业务类型")