Explorar el Código

fix: iteration total tokens calculate error (#15813)

Co-authored-by: 刘江波 <jiangbo721@163.com>
jiangbo721 hace 1 mes
padre
commit
5646442931

+ 2 - 1
api/core/workflow/graph_engine/graph_engine.py

@@ -873,11 +873,12 @@ class GraphEngine:
     def create_copy(self):
         """
         create a graph engine copy
-        :return: with a new variable pool instance of graph engine
+        :return: graph engine with a new variable pool and initialized total tokens
         """
         new_instance = copy(self)
         new_instance.graph_runtime_state = copy(self.graph_runtime_state)
         new_instance.graph_runtime_state.variable_pool = deepcopy(self.graph_runtime_state.variable_pool)
+        new_instance.graph_runtime_state.total_tokens = 0
         return new_instance
 
     def _handle_continue_on_error(

+ 0 - 1
api/core/workflow/nodes/iteration/iteration_node.py

@@ -590,7 +590,6 @@ class IterationNode(BaseNode[IterationNodeData]):
         with flask_app.app_context():
             parallel_mode_run_id = uuid.uuid4().hex
             graph_engine_copy = graph_engine.create_copy()
-            graph_engine_copy.graph_runtime_state.total_tokens = 0
             variable_pool_copy = graph_engine_copy.graph_runtime_state.variable_pool
             variable_pool_copy.add([self.node_id, "index"], index)
             variable_pool_copy.add([self.node_id, "item"], item)