From 383695b8207534b83e012fb92c9340276371a827 Mon Sep 17 00:00:00 2001 From: QuantumGhost Date: Wed, 30 Jul 2025 16:13:04 +0800 Subject: [PATCH] chore(api): put import for type annotation inside TYPE_CHECKING in llm/nodes.py this causes unnecessary dependencies and cycle imports. --- api/core/workflow/nodes/llm/node.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/api/core/workflow/nodes/llm/node.py b/api/core/workflow/nodes/llm/node.py index 90a0397b67..0b2a2f776b 100644 --- a/api/core/workflow/nodes/llm/node.py +++ b/api/core/workflow/nodes/llm/node.py @@ -3,7 +3,7 @@ import io import json import logging from collections.abc import Generator, Mapping, Sequence -from typing import TYPE_CHECKING, Any, Optional, cast +from typing import TYPE_CHECKING, Any, Optional, Union, cast from core.app.entities.app_invoke_entities import ModelConfigWithCredentialsEntity from core.file import FileType, file_manager @@ -57,7 +57,6 @@ from core.workflow.entities.variable_entities import VariableSelector from core.workflow.entities.variable_pool import VariablePool from core.workflow.entities.workflow_node_execution import WorkflowNodeExecutionMetadataKey, WorkflowNodeExecutionStatus from core.workflow.enums import SystemVariableKey -from core.workflow.graph_engine.entities.event import InNodeEvent from core.workflow.nodes.base import BaseNode from core.workflow.nodes.base.entities import BaseNodeData, RetryConfig from core.workflow.nodes.enums import ErrorStrategy, NodeType @@ -92,6 +91,7 @@ from .file_saver import FileSaverImpl, LLMFileSaver if TYPE_CHECKING: from core.file.models import File from core.workflow.graph_engine import Graph, GraphInitParams, GraphRuntimeState + from core.workflow.graph_engine.entities.event import InNodeEvent logger = logging.getLogger(__name__) @@ -163,7 +163,7 @@ class LLMNode(BaseNode): def version(cls) -> str: return "1" - def _run(self) -> Generator[NodeEvent | InNodeEvent, None, None]: + def _run(self) -> Generator[Union[NodeEvent, "InNodeEvent"], None, None]: node_inputs: Optional[dict[str, Any]] = None process_data = None result_text = ""