agent_messages.py 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. from enum import Enum
  2. from pydantic import BaseModel
  3. from typing import Dict, Union, List, Optional
  4. class HistoryType(Enum):
  5. """
  6. 历史记录类型
  7. """
  8. TENDER_INFO = 0
  9. USER = 1
  10. ASSISTANT = 2
  11. class IntentionType(Enum):
  12. """
  13. 意图类型
  14. """
  15. ANALYSIS = 0
  16. TENDER_INFO = 1
  17. CHAT = 2
  18. class ClarificationRequest(BaseModel):
  19. data: str
  20. class AgentData(BaseModel):
  21. exec_res: List[str]
  22. class TenderData(BaseModel):
  23. title: Optional[str]
  24. publishDate: Optional[str]
  25. mainBody: Optional[str]
  26. md5Id: Optional[str]
  27. province:Optional[str]
  28. city: Optional[str]
  29. region: Optional[str]
  30. bidUnit: Optional[List[Dict]]
  31. winBidUnit: Optional[List[Dict]]
  32. agentUnit: Optional[List[Dict]]
  33. budgetAmount: Optional[str]
  34. winBidAmount: Optional[str]
  35. tenderProducts: Optional[str]
  36. bidType: Optional[str]
  37. subBidType: Optional[str]
  38. attachmentUrls: Optional[List[str]]
  39. contentAttachmentUrl: Optional[List[str]]
  40. class HistoryModel(BaseModel):
  41. type: HistoryType
  42. data: Union[TenderData, AgentData, str]
  43. class BaseRequest(BaseModel):
  44. data: str
  45. history: list[HistoryModel] = []