From aa42cd0aec84a9825aaf648996dc3faa74daf13b Mon Sep 17 00:00:00 2001 From: Eternity <1533512157@qq.com> Date: Mon, 9 Feb 2026 20:13:23 +0800 Subject: [PATCH 1/2] fix(workflow): adapt memory node write behavior --- api/app/core/workflow/nodes/memory/config.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/api/app/core/workflow/nodes/memory/config.py b/api/app/core/workflow/nodes/memory/config.py index 25b5105d..40959423 100644 --- a/api/app/core/workflow/nodes/memory/config.py +++ b/api/app/core/workflow/nodes/memory/config.py @@ -45,7 +45,7 @@ class MemoryReadNodeConfig(BaseNodeConfig): class MemoryWriteNodeConfig(BaseNodeConfig): message: str = Field( - ... + default="" ) messages: list[MessageConfig] = Field( From d57e3b3f64fc3c6cb64c40e9e0e6d0b1520f3eb9 Mon Sep 17 00:00:00 2001 From: Eternity <1533512157@qq.com> Date: Mon, 9 Feb 2026 20:19:15 +0800 Subject: [PATCH 2/2] perf(workflow): optimize token consumption tracking in question classifier and parameter extractor nodes --- api/app/core/workflow/nodes/parameter_extractor/node.py | 4 ++-- api/app/core/workflow/nodes/question_classifier/node.py | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/api/app/core/workflow/nodes/parameter_extractor/node.py b/api/app/core/workflow/nodes/parameter_extractor/node.py index 7dec03f1..9dd91cad 100644 --- a/api/app/core/workflow/nodes/parameter_extractor/node.py +++ b/api/app/core/workflow/nodes/parameter_extractor/node.py @@ -32,8 +32,8 @@ class ParameterExtractorNode(BaseNode): usage = self.response_metadata.get('token_usage') if usage: return { - "prompt_tokens": usage.get('prompt_tokens', 0), - "completion_tokens": usage.get('completion_tokens', 0), + "prompt_tokens": usage.get('input_tokens', 0), + "completion_tokens": usage.get('output_tokens', 0), "total_tokens": usage.get('total_tokens', 0) } return None diff --git a/api/app/core/workflow/nodes/question_classifier/node.py b/api/app/core/workflow/nodes/question_classifier/node.py index 7f3d4edb..5b041a6a 100644 --- a/api/app/core/workflow/nodes/question_classifier/node.py +++ b/api/app/core/workflow/nodes/question_classifier/node.py @@ -32,8 +32,8 @@ class QuestionClassifierNode(BaseNode): usage = self.response_metadata.get('token_usage') if usage: return { - "prompt_tokens": usage.get('prompt_tokens', 0), - "completion_tokens": usage.get('completion_tokens', 0), + "prompt_tokens": usage.get('input_tokens', 0), + "completion_tokens": usage.get('output_tokens', 0), "total_tokens": usage.get('total_tokens', 0) } return None