entities.py 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. """
  2. 数据实体定义 - 英语句子扩写智能体
  3. """
  4. from pydantic import BaseModel
  5. from typing import Optional, Literal
  6. # 扩写阶段枚举
  7. Stage = Literal["stage1", "stage2", "stage3", "done"]
  8. # 单次扩写轮次记录
  9. class RoundRecord(BaseModel):
  10. """记录单个扩写轮次的完整信息"""
  11. stage: Stage
  12. question: str # 记者提问
  13. user_answer: str # 用户输入的句子
  14. evaluation: str # 语法点评
  15. expanded_sentence: str # 本轮扩写结果
  16. # 整个会话状态
  17. class SessionState(BaseModel):
  18. """会话完整状态管理"""
  19. session_id: str
  20. mode: Literal["manual", "auto"]
  21. seed_sentence: str
  22. current_stage: Stage
  23. rounds: list[RoundRecord] = []
  24. final_polished: Optional[str] = None
  25. # 前端发起请求
  26. class StartRequest(BaseModel):
  27. """开始新的扩写会话"""
  28. seed_sentence: str
  29. mode: Literal["manual", "auto"]
  30. # 用户提交扩写句子(手动模式)
  31. class SubmitRequest(BaseModel):
  32. """提交用户扩写的句子"""
  33. session_id: str
  34. user_sentence: str
  35. # 智能体单次响应
  36. class AgentResponse(BaseModel):
  37. """智能体响应数据"""
  38. session_id: str
  39. stage: Stage
  40. question: Optional[str] = None
  41. evaluation: Optional[str] = None
  42. expanded_sentence: Optional[str] = None
  43. final_polished: Optional[str] = None
  44. is_done: bool = False