From e39494c7611ccd401d40803f58ed5d747447b238 Mon Sep 17 00:00:00 2001 From: fdb02983rhy Date: Fri, 18 Jul 2025 13:31:58 +0900 Subject: [PATCH] Clean up imports and argument formatting in workflow nodes This commit removes redundant imports and unnecessary blank lines in agent_node.py, and streamlines argument formatting in knowledge_retrieval_node.py, llm/node.py, and question_classifier_node.py. These changes improve code readability and maintain consistency across workflow node implementations. --- api/core/workflow/nodes/agent/agent_node.py | 20 +++---------------- .../knowledge_retrieval_node.py | 3 --- api/core/workflow/nodes/llm/node.py | 11 ++-------- .../question_classifier_node.py | 3 --- 4 files changed, 5 insertions(+), 32 deletions(-) diff --git a/api/core/workflow/nodes/agent/agent_node.py b/api/core/workflow/nodes/agent/agent_node.py index 6628eb5ddc..d277016aac 100644 --- a/api/core/workflow/nodes/agent/agent_node.py +++ b/api/core/workflow/nodes/agent/agent_node.py @@ -10,8 +10,7 @@ from sqlalchemy.orm import Session from core.agent.entities import AgentToolEntity from core.agent.plugin_entities import AgentStrategyParameter from core.agent.strategy.plugin import PluginAgentStrategy - -from core.file import file_manager +from core.file import File, FileTransferMethod, file_manager from core.memory.token_buffer_memory import TokenBufferMemory from core.model_manager import ModelInstance, ModelManager from core.model_runtime.entities import ( @@ -19,12 +18,7 @@ from core.model_runtime.entities import ( TextPromptMessageContent, UserPromptMessage, ) - -from core.file import File, FileTransferMethod -from core.memory.token_buffer_memory import TokenBufferMemory -from core.model_manager import ModelInstance, ModelManager from core.model_runtime.entities.llm_entities import LLMUsage - from core.model_runtime.entities.model_entities import AIModelEntity, ModelType from core.plugin.entities.request import InvokeCredentials from core.plugin.impl.exc import PluginDaemonClientSideError @@ -37,12 +31,8 @@ from core.tools.entities.tool_entities import ( ToolProviderType, ) from core.tools.tool_manager import ToolManager - -from core.variables.segments import ArrayAnySegment, ArrayFileSegment, FileSegment, StringSegment - from core.tools.utils.message_transformer import ToolFileMessageTransformer -from core.variables.segments import ArrayFileSegment, StringSegment - +from core.variables.segments import ArrayAnySegment, ArrayFileSegment, FileSegment, StringSegment from core.workflow.entities.node_entities import NodeRunResult from core.workflow.entities.variable_pool import VariablePool from core.workflow.entities.workflow_node_execution import WorkflowNodeExecutionMetadataKey, WorkflowNodeExecutionStatus @@ -57,11 +47,8 @@ from core.workflow.utils.variable_template_parser import VariableTemplateParser from extensions.ext_database import db from factories import file_factory from factories.agent_factory import get_plugin_agent_strategy - -from models.model import Conversation, NodeFileUsage - from models import ToolFile -from models.model import Conversation +from models.model import Conversation, NodeFileUsage from services.tools.builtin_tools_manage_service import BuiltinToolManageService from .exc import ( @@ -74,7 +61,6 @@ from .exc import ( ) - class AgentNode(BaseNode): """ Agent Node diff --git a/api/core/workflow/nodes/knowledge_retrieval/knowledge_retrieval_node.py b/api/core/workflow/nodes/knowledge_retrieval/knowledge_retrieval_node.py index 193e27004f..f8f14d0745 100644 --- a/api/core/workflow/nodes/knowledge_retrieval/knowledge_retrieval_node.py +++ b/api/core/workflow/nodes/knowledge_retrieval/knowledge_retrieval_node.py @@ -527,11 +527,8 @@ class KnowledgeRetrievalNode(BaseNode): vision_detail=node_data.vision.configs.detail, variable_pool=self.graph_runtime_state.variable_pool, jinja2_variables=[], - uses_sys_files_for_node=False, - tenant_id=self.tenant_id, - ) result_text = "" diff --git a/api/core/workflow/nodes/llm/node.py b/api/core/workflow/nodes/llm/node.py index a62f08c44e..290e421936 100644 --- a/api/core/workflow/nodes/llm/node.py +++ b/api/core/workflow/nodes/llm/node.py @@ -206,8 +206,8 @@ class LLMNode(BaseNode): # A node is considered "using" sys.files when vision is enabled and a variable selector is configured. # ------------------------------ - uses_sys_files_for_node = self.node_data.vision.enabled and bool( - self.node_data.vision.configs.variable_selector + uses_sys_files_for_node = self._node_data.vision.enabled and bool( + self._node_data.vision.configs.variable_selector ) if uses_sys_files_for_node and files: @@ -286,13 +286,9 @@ class LLMNode(BaseNode): vision_enabled=self._node_data.vision.enabled, vision_detail=self._node_data.vision.configs.detail, variable_pool=variable_pool, - - jinja2_variables=self.node_data.prompt_config.jinja2_variables, uses_sys_files_for_node=uses_sys_files_for_node, - jinja2_variables=self._node_data.prompt_config.jinja2_variables, tenant_id=self.tenant_id, - ) # handle invoke result @@ -679,11 +675,8 @@ class LLMNode(BaseNode): vision_detail: ImagePromptMessageContent.DETAIL, variable_pool: VariablePool, jinja2_variables: Sequence[VariableSelector], - uses_sys_files_for_node: bool, - tenant_id: str, - ) -> tuple[Sequence[PromptMessage], Optional[Sequence[str]]]: prompt_messages: list[PromptMessage] = [] diff --git a/api/core/workflow/nodes/question_classifier/question_classifier_node.py b/api/core/workflow/nodes/question_classifier/question_classifier_node.py index b1040d8fbd..1ff5afe36a 100644 --- a/api/core/workflow/nodes/question_classifier/question_classifier_node.py +++ b/api/core/workflow/nodes/question_classifier/question_classifier_node.py @@ -168,11 +168,8 @@ class QuestionClassifierNode(BaseNode): vision_detail=node_data.vision.configs.detail, variable_pool=variable_pool, jinja2_variables=[], - uses_sys_files_for_node=node_data.vision.enabled and bool(node_data.vision.configs.variable_selector), - tenant_id=self.tenant_id, - ) result_text = ""