diff --git a/apps/application/flow/step_node/loop_node/impl/base_loop_node.py b/apps/application/flow/step_node/loop_node/impl/base_loop_node.py index 860da7874a4..c78c953fcaf 100644 --- a/apps/application/flow/step_node/loop_node/impl/base_loop_node.py +++ b/apps/application/flow/step_node/loop_node/impl/base_loop_node.py @@ -216,10 +216,10 @@ def loop(workflow_manage_new_instance, node: INode, generate_loop): def get_tokens(loop_node_data): message_tokens = 0 answer_tokens = 0 - for details in loop_node_data: - message_tokens += sum([row.get('message_tokens') for row in details.values() if + for details in (loop_node_data or {}): + message_tokens += sum([row.get('message_tokens') or 0 for row in details.values() if 'message_tokens' in row and row.get('message_tokens') is not None]) - answer_tokens += sum([row.get('answer_tokens') for row in details.values() if + answer_tokens += sum([row.get('answer_tokens') or 0 for row in details.values() if 'answer_tokens' in row and row.get('answer_tokens') is not None]) return {'message_tokens': message_tokens, 'answer_tokens': answer_tokens} diff --git a/apps/application/flow/workflow_manage.py b/apps/application/flow/workflow_manage.py index a020d7a2dec..da67d44ce1d 100644 --- a/apps/application/flow/workflow_manage.py +++ b/apps/application/flow/workflow_manage.py @@ -236,6 +236,7 @@ def run_block(self, language='zh'): @return: 结果 """ try: + self.params['stream'] = True self.run_chain_async(None, None, language) while self.is_run(): pass