Files
more_dots/schemas/super_agent.py
T
2026-03-11 23:40:39 +08:00

38 lines
1.6 KiB
Python

from typing import Any, Dict, Optional
from pydantic import BaseModel, ConfigDict, Field
class SuperAgentRequest(BaseModel):
"""Super Agent 请求模型"""
model_config = ConfigDict(extra="forbid")
query: str = Field(..., desc ription="用户查询")
conversation_id: Optional[str] = Field(None, description="会话ID")
user_id: Optional[str] = Field(None, description="用户ID")
workflow_type: str = Field(default="conversation", description="工作流类型")
context: Dict[str, str] = Field(default_factory=dict, description="上下文信息")
timeout_seconds: int = Field(default=30, description="超时时间(秒)")
class SuperAgentResponse(BaseModel):
"""Super Agent 响应模型"""
conversation_id: str = Field(..., description="会话ID")
workflow_type: str = Field(..., description="工作流类型")
status: str = Field(default="success", description="状态: success/error")
sql: Optional[str] = Field(None, description="生成的SQL")
result: Optional[str] = Field(None, description="查询结果")
error: Optional[str] = Field(None, description="错误信息")
metadata: Dict[str, str] = Field(default_factory=dict, description="元数据")
class SuperAgentStreamEvent(BaseModel):
"""Super Agent 流式响应事件"""
conversation_id: str = Field(..., description="会话ID")
event: str = Field(..., description="事件类型: sql_generated/sql_executing/result/error/done")
data: str = Field(..., description="事件数据")
timestamp: int = Field(..., description="时间戳(毫秒)")