fix(workflow): fix streaming output error when variable is not a string

This commit is contained in:
Eternity
2026-01-27 18:16:53 +08:00
parent 2a10e9f7ee
commit 2abbd5a7fb

View File

@@ -163,6 +163,15 @@ class WorkflowExecutor:
if self.end_outputs[node].activate and self.activate_end is None:
self.activate_end = node
@staticmethod
def _trans_output_string(content):
if isinstance(content, str):
return content
elif isinstance(content, list):
return "\n".join(content)
else:
return str(content)
def build_graph(self, stream=False) -> CompiledStateGraph:
"""构建 LangGraph
@@ -430,6 +439,7 @@ class WorkflowExecutor:
variables={},
node_outputs=node_outputs
)
chunk = self._trans_output_string(chunk)
message += chunk
full_content += chunk
except ValueError:
@@ -472,6 +482,7 @@ class WorkflowExecutor:
variables=variables,
node_outputs=node_outputs
)
chunk = self._trans_output_string(chunk)
message += chunk
full_content += chunk
except ValueError: