fix: 修复换个答案在工作流中一直生效问题 (#766)

(cherry picked from commit 5308ad9c89)
This commit is contained in:
shaohuzhang1 2024-07-15 20:24:12 +08:00 committed by shaohuzhang1
parent 28ed136f2d
commit 56a7b7b524
2 changed files with 11 additions and 6 deletions

View File

@ -105,12 +105,14 @@ class FlowParamsSerializer(serializers.Serializer):
chat_record_id = serializers.CharField(required=True, error_messages=ErrMessage.char("对话记录id"))
stream = serializers.BooleanField(required=True, error_messages=ErrMessage.base("流式输出"))
stream = serializers.BooleanField(required=True, error_messages=ErrMessage.boolean("流式输出"))
client_id = serializers.CharField(required=False, error_messages=ErrMessage.char("客户端id"))
client_type = serializers.CharField(required=False, error_messages=ErrMessage.char("客户端类型"))
re_chat = serializers.BooleanField(required=True, error_messages=ErrMessage.boolean("换个答案"))
class INode:
def __init__(self, node, workflow_params, workflow_manage):

View File

@ -61,11 +61,14 @@ class ISearchDatasetStepNode(INode):
question = self.workflow_manage.get_reference_field(
self.node_params_serializer.data.get('question_reference_address')[0],
self.node_params_serializer.data.get('question_reference_address')[1:])
history_chat_record = self.flow_params_serializer.data.get('history_chat_record', [])
paragraph_id_list = [p.get('id') for p in flat_map(
[get_paragraph_list(chat_record, self.node.id) for chat_record in history_chat_record if
chat_record.problem_text == question])]
exclude_paragraph_id_list = list(set(paragraph_id_list))
exclude_paragraph_id_list = []
if self.flow_params_serializer.data.get('re_chat', False):
history_chat_record = self.flow_params_serializer.data.get('history_chat_record', [])
paragraph_id_list = [p.get('id') for p in flat_map(
[get_paragraph_list(chat_record, self.node.id) for chat_record in history_chat_record if
chat_record.problem_text == question])]
exclude_paragraph_id_list = list(set(paragraph_id_list))
return self.execute(**self.node_params_serializer.data, question=str(question),
exclude_paragraph_id_list=exclude_paragraph_id_list)