Skip to content

Commit 56a7b7b

Browse files
committed
fix: 修复换个答案在工作流中一直生效问题 (#766)
(cherry picked from commit 5308ad9)
1 parent 28ed136 commit 56a7b7b

File tree

2 files changed

+11
-6
lines changed

2 files changed

+11
-6
lines changed

apps/application/flow/i_step_node.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -105,12 +105,14 @@ class FlowParamsSerializer(serializers.Serializer):
105105

106106
chat_record_id = serializers.CharField(required=True, error_messages=ErrMessage.char("对话记录id"))
107107

108-
stream = serializers.BooleanField(required=True, error_messages=ErrMessage.base("流式输出"))
108+
stream = serializers.BooleanField(required=True, error_messages=ErrMessage.boolean("流式输出"))
109109

110110
client_id = serializers.CharField(required=False, error_messages=ErrMessage.char("客户端id"))
111111

112112
client_type = serializers.CharField(required=False, error_messages=ErrMessage.char("客户端类型"))
113113

114+
re_chat = serializers.BooleanField(required=True, error_messages=ErrMessage.boolean("换个答案"))
115+
114116

115117
class INode:
116118
def __init__(self, node, workflow_params, workflow_manage):

apps/application/flow/step_node/search_dataset_node/i_search_dataset_node.py

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -61,11 +61,14 @@ def _run(self):
6161
question = self.workflow_manage.get_reference_field(
6262
self.node_params_serializer.data.get('question_reference_address')[0],
6363
self.node_params_serializer.data.get('question_reference_address')[1:])
64-
history_chat_record = self.flow_params_serializer.data.get('history_chat_record', [])
65-
paragraph_id_list = [p.get('id') for p in flat_map(
66-
[get_paragraph_list(chat_record, self.node.id) for chat_record in history_chat_record if
67-
chat_record.problem_text == question])]
68-
exclude_paragraph_id_list = list(set(paragraph_id_list))
64+
exclude_paragraph_id_list = []
65+
if self.flow_params_serializer.data.get('re_chat', False):
66+
history_chat_record = self.flow_params_serializer.data.get('history_chat_record', [])
67+
paragraph_id_list = [p.get('id') for p in flat_map(
68+
[get_paragraph_list(chat_record, self.node.id) for chat_record in history_chat_record if
69+
chat_record.problem_text == question])]
70+
exclude_paragraph_id_list = list(set(paragraph_id_list))
71+
6972
return self.execute(**self.node_params_serializer.data, question=str(question),
7073
exclude_paragraph_id_list=exclude_paragraph_id_list)
7174

0 commit comments

Comments
 (0)