event.py 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. from collections.abc import Sequence
  2. from datetime import datetime
  3. from pydantic import BaseModel, Field
  4. from core.model_runtime.entities.llm_entities import LLMUsage
  5. from core.rag.entities.citation_metadata import RetrievalSourceMetadata
  6. from core.workflow.entities.node_entities import NodeRunResult
  7. class RunCompletedEvent(BaseModel):
  8. run_result: NodeRunResult = Field(..., description="run result")
  9. class RunStreamChunkEvent(BaseModel):
  10. chunk_content: str = Field(..., description="chunk content")
  11. from_variable_selector: list[str] = Field(..., description="from variable selector")
  12. class RunRetrieverResourceEvent(BaseModel):
  13. retriever_resources: Sequence[RetrievalSourceMetadata] = Field(..., description="retriever resources")
  14. context: str = Field(..., description="context")
  15. class ModelInvokeCompletedEvent(BaseModel):
  16. """
  17. Model invoke completed
  18. """
  19. text: str
  20. usage: LLMUsage
  21. finish_reason: str | None = None
  22. class RunRetryEvent(BaseModel):
  23. """Node Run Retry event"""
  24. error: str = Field(..., description="error")
  25. retry_index: int = Field(..., description="Retry attempt number")
  26. start_at: datetime = Field(..., description="Retry start time")