Преглед на файлове

fix: issue Multiple Paths Between IF/ELSE Branches (#11646)

Signed-off-by: yihong0618 <zouzou0208@gmail.com>
tags/0.14.2
yihong преди 10 месеца
родител
ревизия
e0f1410b48
No account linked to committer's email address

+ 0
- 1
api/core/workflow/nodes/answer/answer_stream_processor.py Целия файл

@@ -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

+ 7
- 1
api/core/workflow/nodes/answer/base_stream_processor.py Целия файл

@@ -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)

+ 0
- 2
api/tests/unit_tests/core/workflow/graph_engine/test_graph_engine.py Целия файл

@@ -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"

Loading…
Отказ
Запис