Signed-off-by: yihong0618 <zouzou0208@gmail.com>tags/0.14.2
| @@ -60,7 +60,6 @@ class AnswerStreamProcessor(StreamProcessor): | |||
| del self.current_stream_chunk_generating_node_ids[event.route_node_state.node_id] | |||
| # remove unreachable nodes | |||
| self._remove_unreachable_nodes(event) | |||
| # generate stream outputs | |||
| @@ -43,7 +43,13 @@ class StreamProcessor(ABC): | |||
| and edge.run_condition.branch_identify | |||
| and run_result.edge_source_handle == edge.run_condition.branch_identify | |||
| ): | |||
| reachable_node_ids.extend(self._fetch_node_ids_in_reachable_branch(edge.target_node_id)) | |||
| # remove unreachable nodes | |||
| # FIXME: because of the code branch can combine directly, so for answer node | |||
| # we remove the node maybe shortcut the answer node, so comment this code for now | |||
| # there is not effect on the answer node and the workflow, when we have a better solution | |||
| # we can open this code. Issues: #11542 #9560 #10638 #10564 | |||
| # reachable_node_ids.extend(self._fetch_node_ids_in_reachable_branch(edge.target_node_id)) | |||
| continue | |||
| else: | |||
| unreachable_first_node_ids.append(edge.target_node_id) | |||
| @@ -488,14 +488,12 @@ def test_run_branch(mock_close, mock_remove): | |||
| items = [] | |||
| generator = graph_engine.run() | |||
| for item in generator: | |||
| # print(type(item), item) | |||
| items.append(item) | |||
| assert len(items) == 10 | |||
| assert items[3].route_node_state.node_id == "if-else-1" | |||
| assert items[4].route_node_state.node_id == "if-else-1" | |||
| assert isinstance(items[5], NodeRunStreamChunkEvent) | |||
| assert items[5].chunk_content == "1 " | |||
| assert isinstance(items[6], NodeRunStreamChunkEvent) | |||
| assert items[6].chunk_content == "takato" | |||
| assert items[7].route_node_state.node_id == "answer-1" | |||