From fb3a701c86b0bc29ef6d627a65274ddd95ba97dd Mon Sep 17 00:00:00 2001 From: Yeuoly Date: Tue, 24 Sep 2024 16:02:01 +0800 Subject: [PATCH] fix: stream with empty line --- api/core/plugin/manager/base.py | 3 ++- api/core/workflow/nodes/tool/tool_node.py | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/api/core/plugin/manager/base.py b/api/core/plugin/manager/base.py index dac6d9d63f..fdc15f633c 100644 --- a/api/core/plugin/manager/base.py +++ b/api/core/plugin/manager/base.py @@ -56,7 +56,8 @@ class BasePluginManager: line = line.decode("utf-8").strip() if line.startswith("data:"): line = line[5:].strip() - yield line + if line: + yield line def _stream_request_with_model( self, diff --git a/api/core/workflow/nodes/tool/tool_node.py b/api/core/workflow/nodes/tool/tool_node.py index 73c22bc700..2bcd0b10f2 100644 --- a/api/core/workflow/nodes/tool/tool_node.py +++ b/api/core/workflow/nodes/tool/tool_node.py @@ -212,8 +212,8 @@ class ToolNode(BaseNode): chunk_content=message.message.text, from_variable_selector=[self.node_id, "text"] ) elif message.type == ToolInvokeMessage.MessageType.JSON: - assert isinstance(message, ToolInvokeMessage.JsonMessage) - json.append(message.json_object) + assert isinstance(message.message, ToolInvokeMessage.JsonMessage) + json.append(message.message.json_object) elif message.type == ToolInvokeMessage.MessageType.LINK: assert isinstance(message.message, ToolInvokeMessage.TextMessage) stream_text = f"Link: {message.message.text}\n"