queue_entities.py 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  1. from enum import Enum
  2. from typing import Any
  3. from pydantic import BaseModel
  4. from core.model_runtime.entities.llm_entities import LLMResult, LLMResultChunk
  5. class QueueEvent(Enum):
  6. """
  7. QueueEvent enum
  8. """
  9. MESSAGE = "message"
  10. MESSAGE_REPLACE = "message-replace"
  11. MESSAGE_END = "message-end"
  12. RETRIEVER_RESOURCES = "retriever-resources"
  13. ANNOTATION_REPLY = "annotation-reply"
  14. AGENT_THOUGHT = "agent-thought"
  15. ERROR = "error"
  16. PING = "ping"
  17. STOP = "stop"
  18. class AppQueueEvent(BaseModel):
  19. """
  20. QueueEvent entity
  21. """
  22. event: QueueEvent
  23. class QueueMessageEvent(AppQueueEvent):
  24. """
  25. QueueMessageEvent entity
  26. """
  27. event = QueueEvent.MESSAGE
  28. chunk: LLMResultChunk
  29. class QueueMessageReplaceEvent(AppQueueEvent):
  30. """
  31. QueueMessageReplaceEvent entity
  32. """
  33. event = QueueEvent.MESSAGE_REPLACE
  34. text: str
  35. class QueueRetrieverResourcesEvent(AppQueueEvent):
  36. """
  37. QueueRetrieverResourcesEvent entity
  38. """
  39. event = QueueEvent.RETRIEVER_RESOURCES
  40. retriever_resources: list[dict]
  41. class AnnotationReplyEvent(AppQueueEvent):
  42. """
  43. AnnotationReplyEvent entity
  44. """
  45. event = QueueEvent.ANNOTATION_REPLY
  46. message_annotation_id: str
  47. class QueueMessageEndEvent(AppQueueEvent):
  48. """
  49. QueueMessageEndEvent entity
  50. """
  51. event = QueueEvent.MESSAGE_END
  52. llm_result: LLMResult
  53. class QueueAgentThoughtEvent(AppQueueEvent):
  54. """
  55. QueueAgentThoughtEvent entity
  56. """
  57. event = QueueEvent.AGENT_THOUGHT
  58. agent_thought_id: str
  59. class QueueErrorEvent(AppQueueEvent):
  60. """
  61. QueueErrorEvent entity
  62. """
  63. event = QueueEvent.ERROR
  64. error: Any
  65. class QueuePingEvent(AppQueueEvent):
  66. """
  67. QueuePingEvent entity
  68. """
  69. event = QueueEvent.PING
  70. class QueueStopEvent(AppQueueEvent):
  71. """
  72. QueueStopEvent entity
  73. """
  74. class StopBy(Enum):
  75. """
  76. Stop by enum
  77. """
  78. USER_MANUAL = "user-manual"
  79. ANNOTATION_REPLY = "annotation-reply"
  80. OUTPUT_MODERATION = "output-moderation"
  81. event = QueueEvent.STOP
  82. stopped_by: StopBy
  83. class QueueMessage(BaseModel):
  84. """
  85. QueueMessage entity
  86. """
  87. task_id: str
  88. message_id: str
  89. conversation_id: str
  90. app_mode: str
  91. event: AppQueueEvent