Skip to content

Commit 69ab3e6

Browse files
authored
[Bug Fix] 增加了多轮对话中,对部分user生成缺少assistant的情况修复 (#185)
Thanks for contribution!
1 parent 0d78ca5 commit 69ab3e6

File tree

1 file changed

+16
-0
lines changed

1 file changed

+16
-0
lines changed

dataflow/operators/conversations/consistent_chat.py

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -105,11 +105,27 @@ def run(self, storage: DataFlowStorage):
105105
try:
106106
category = query_data['category']
107107
turns = query_data['turns']
108+
109+
# Ensure the number of turns matches the number of responses
110+
num_user_turns = len(turns)
111+
num_assistant_responses = len(response_data)
112+
113+
if num_user_turns > num_assistant_responses:
114+
turns = turns[:num_assistant_responses]
115+
108116
conversation = []
109117
for i in range(len(turns)):
110118
conversation.append({"role": "user", "value": turns[i]})
111119
if i < len(response_data):
112120
conversation.append({"role": "assistant", "value": response_data[i]['response']})
121+
122+
# Ensure conversation does not end with a user message
123+
if conversation and conversation[-1]["role"] == "user":
124+
conversation.pop()
125+
126+
if not conversation:
127+
continue
128+
113129
formatted_data.append({
114130
"category": category,
115131
"conversation": conversation

0 commit comments

Comments
 (0)