malt666 commited on
Commit
3fb80b3
·
verified ·
1 Parent(s): ce86c7b

Upload 5 files

Browse files
Files changed (1) hide show
  1. app.py +21 -12
app.py CHANGED
@@ -1201,33 +1201,42 @@ def format_message(messages):
1201
 
1202
  def extract_role(messages):
1203
  role_map = {"user": "Human", "assistant": "Assistant", "system": "System"}
1204
- prefix = False
1205
  first_message = messages[0]["content"]
1206
  pattern = re.compile(
1207
  r"""
1208
  <roleInfo>\s*
1209
- user:\s*(?P<user>[^\n]*)\s*
1210
- assistant:\s*(?P<assistant>[^\n]*)\s*
1211
- system:\s*(?P<system>[^\n]*)\s*
1212
- prefix:\s*(?P<prefix>[^\n]*)\s*
1213
  </roleInfo>\n
1214
  """,
1215
  re.VERBOSE,
1216
  )
1217
  match = pattern.search(first_message)
1218
  if match:
1219
- role_map = {
1220
- "user": match.group("user"),
1221
- "assistant": match.group("assistant"),
1222
- "system": match.group("system"),
1223
- }
1224
- prefix = match.group("prefix") == "1"
 
 
 
 
 
 
 
 
1225
  messages[0]["content"] = pattern.sub("", first_message)
1226
  print(f"Extracted role map:")
1227
  print(
1228
  f"User: {role_map['user']}, Assistant: {role_map['assistant']}, System: {role_map['system']}"
1229
  )
1230
- print(f"Using prefix: {prefix}")
 
1231
  return (role_map, prefix, messages)
1232
 
1233
 
 
1201
 
1202
  def extract_role(messages):
1203
  role_map = {"user": "Human", "assistant": "Assistant", "system": "System"}
1204
+ prefix = True # 默认添加前缀
1205
  first_message = messages[0]["content"]
1206
  pattern = re.compile(
1207
  r"""
1208
  <roleInfo>\s*
1209
+ (?:user:\s*(?P<user>[^\n]*)\s*)? # Make user optional
1210
+ (?:assistant:\s*(?P<assistant>[^\n]*)\s*)? # Make assistant optional
1211
+ (?:system:\s*(?P<system>[^\n]*)\s*)? # Make system optional
1212
+ (?:prefix:\s*(?P<prefix>[^\n]*)\s*)? # Make prefix optional
1213
  </roleInfo>\n
1214
  """,
1215
  re.VERBOSE,
1216
  )
1217
  match = pattern.search(first_message)
1218
  if match:
1219
+ # 更新 role_map 如果提供了值
1220
+ user_role = match.group("user")
1221
+ assistant_role = match.group("assistant")
1222
+ system_role = match.group("system")
1223
+ if user_role: role_map["user"] = user_role
1224
+ if assistant_role: role_map["assistant"] = assistant_role
1225
+ if system_role: role_map["system"] = system_role
1226
+
1227
+ # 检查 prefix 值:仅当显式设置为非 "1" 时才将 prefix 设为 False
1228
+ prefix_value = match.group("prefix")
1229
+ if prefix_value is not None and prefix_value != "1":
1230
+ prefix = False
1231
+ # 如果 prefix_value 是 None (标签不存在) 或 "1", prefix 保持 True
1232
+
1233
  messages[0]["content"] = pattern.sub("", first_message)
1234
  print(f"Extracted role map:")
1235
  print(
1236
  f"User: {role_map['user']}, Assistant: {role_map['assistant']}, System: {role_map['system']}"
1237
  )
1238
+ print(f"Using prefix: {prefix}") # 打印语句保持不变,反映最终结果
1239
+ # 如果没有匹配到 <roleInfo>,prefix 保持默认值 True
1240
  return (role_map, prefix, messages)
1241
 
1242