From 54eb6cf2c63c43fc9d71d75a4d4ef33d57a279a3 Mon Sep 17 00:00:00 2001 From: fdb02983rhy Date: Thu, 17 Jul 2025 10:50:07 +0900 Subject: [PATCH] Add uses_sys_files_for_node flag to node calls Introduces the uses_sys_files_for_node parameter to knowledge retrieval and question classifier node calls, enabling more explicit control over system file usage. Also cleans up redundant imports in the LLM node implementation. --- .../nodes/knowledge_retrieval/knowledge_retrieval_node.py | 1 + api/core/workflow/nodes/llm/node.py | 8 +++----- .../nodes/question_classifier/question_classifier_node.py | 1 + 3 files changed, 5 insertions(+), 5 deletions(-) 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 f05d93d83e..128ca469a1 100644 --- a/api/core/workflow/nodes/knowledge_retrieval/knowledge_retrieval_node.py +++ b/api/core/workflow/nodes/knowledge_retrieval/knowledge_retrieval_node.py @@ -458,6 +458,7 @@ class KnowledgeRetrievalNode(LLMNode): vision_detail=node_data.vision.configs.detail, variable_pool=self.graph_runtime_state.variable_pool, jinja2_variables=[], + uses_sys_files_for_node=False, ) result_text = "" diff --git a/api/core/workflow/nodes/llm/node.py b/api/core/workflow/nodes/llm/node.py index 756cbf2cee..048ae23c50 100644 --- a/api/core/workflow/nodes/llm/node.py +++ b/api/core/workflow/nodes/llm/node.py @@ -5,6 +5,9 @@ import logging from collections.abc import Generator, Mapping, Sequence from typing import TYPE_CHECKING, Any, Optional, cast +from sqlalchemy import select +from sqlalchemy.orm import Session + from core.app.entities.app_invoke_entities import ModelConfigWithCredentialsEntity from core.file import FileType, file_manager from core.helper.code_executor import CodeExecutor, CodeLanguage @@ -68,10 +71,6 @@ from core.workflow.nodes.event import ( RunStreamChunkEvent, ) from core.workflow.utils.variable_template_parser import VariableTemplateParser - -# --- New imports for file-usage persistence --- -from sqlalchemy.orm import Session -from sqlalchemy import select from extensions.ext_database import db from models.model import NodeFileUsage @@ -218,7 +217,6 @@ class LLMNode(BaseNode[LLMNodeData]): ) session.commit() except Exception: - # Non-critical – failure to persist should not break node execution pass if files: 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 74024ed90c..526bf5843f 100644 --- a/api/core/workflow/nodes/question_classifier/question_classifier_node.py +++ b/api/core/workflow/nodes/question_classifier/question_classifier_node.py @@ -101,6 +101,7 @@ class QuestionClassifierNode(LLMNode): 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), ) result_text = ""