diff --git a/src/backend/bisheng/api/services/workflow.py b/src/backend/bisheng/api/services/workflow.py index 383c4fb0f..739a2acd7 100644 --- a/src/backend/bisheng/api/services/workflow.py +++ b/src/backend/bisheng/api/services/workflow.py @@ -136,7 +136,7 @@ def run_once(cls, login_user: UserPayload, node_input: Dict[str, any], node_data continue if node_data.type == NodeType.RAG.value and one['key'] != 'retrieved_result' and one['type'] != 'variable': continue - if node_data.type == NodeType.LLM.value and not one['key'].startswith('output'): + if node_data.type == NodeType.LLM.value and one['type'] != 'variable': continue if node_data.type == NodeType.AGENT.value and one['type'] not in ['tool', 'variable']: continue diff --git a/src/backend/bisheng/workflow/nodes/input/input.py b/src/backend/bisheng/workflow/nodes/input/input.py index 82c4e14ab..f3538ba7a 100644 --- a/src/backend/bisheng/workflow/nodes/input/input.py +++ b/src/backend/bisheng/workflow/nodes/input/input.py @@ -49,7 +49,7 @@ def _run(self, unique_id: str): def parse_log(self, unique_id: str, result: dict) -> Any: return [ - {"key": k, "value": v, "type": "variable"} for k, v in result.items() + {"key": f'{self.id}.{k}', "value": v, "type": "variable"} for k, v in result.items() ] def parse_upload_file(self, key: str, value: str) -> dict | None: diff --git a/src/backend/bisheng/workflow/nodes/llm/llm.py b/src/backend/bisheng/workflow/nodes/llm/llm.py index a823c488d..c7db22aa4 100644 --- a/src/backend/bisheng/workflow/nodes/llm/llm.py +++ b/src/backend/bisheng/workflow/nodes/llm/llm.py @@ -61,7 +61,7 @@ def parse_log(self, unique_id: str, result: dict) -> Any: if self._batch_variable_list: ret.insert(0, {"key": "batch_variable", "value": self._batch_variable_list, "type": "params"}) for k, v in result.items(): - ret.append({"key": k, "value": v, "type": "variable"}) + ret.append({"key": f'{self.id}.{k}', "value": v, "type": "variable"}) return ret def _run_once(self,