| 1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- """
- 报告相关数据模型
- """
- from pydantic import BaseModel, Field
- from typing import List, Optional
- class UploadedDocumentContext(BaseModel):
- """用户上传文档上下文"""
- file_name: str = Field(..., description="上传文件名")
- file_type: str = Field(default="", description="文件类型")
- content: str = Field(..., description="后端提取的纯文本内容")
- attachment_id: Optional[str] = Field(default=None, description="附件解析ID")
- char_count: Optional[int] = Field(default=None, description="提取文本字符数")
- class ReportCompleteFlowRequest(BaseModel):
- """完整报告生成流程请求"""
- user_question: str = Field(..., description="用户问题")
- user_id: Optional[int] = Field(default=None, description="用户ID")
- window_size: int = Field(default=5, description="窗口大小")
- n_results: int = Field(default=5, description="结果数量")
- ai_conversation_id: Optional[int] = Field(default=None, description="AI对话ID")
- is_network_search_enabled: bool = Field(default=False, description="是否启用联网搜索")
- enable_online_model: bool = Field(default=False, description="是否启用在线模型")
- uploaded_documents: List[UploadedDocumentContext] = Field(default_factory=list, description="用户上传文档上下文")
- class UpdateAIMessageRequest(BaseModel):
- """更新AI消息请求"""
- ai_message_id: int = Field(..., description="AI消息ID")
- content: str = Field(..., description="消息内容")
- class StopSSERequest(BaseModel):
- """停止SSE请求"""
- ai_conversation_id: int = Field(..., description="AI对话ID")
- class StreamChatRequest(BaseModel):
- """流式聊天请求(用于降级)"""
- message: str = Field(..., description="用户消息")
- ai_conversation_id: Optional[int] = Field(default=None, description="AI对话ID")
- business_type: int = Field(default=0, description="业务类型")
|