mirror of
https://github.com/open-compass/opencompass.git
synced 2025-05-30 16:03:24 +08:00
41 lines
1.0 KiB
Python
41 lines
1.0 KiB
Python
import re
|
|
|
|
|
|
def post_process_autoj(judgement: str):
|
|
"""Input a string like below:
|
|
|
|
xxx[[5]]xxx, and extract the score
|
|
"""
|
|
pattern = r'\[(\d+)\]'
|
|
matched_result = re.findall(pattern, judgement)
|
|
if matched_result:
|
|
score = int(matched_result[0])
|
|
else:
|
|
return None
|
|
return {'score': score}
|
|
|
|
|
|
def post_process_judgelm(judgement: str):
|
|
"""Input a string like below:
|
|
|
|
5, reason:xxx and extract the score
|
|
"""
|
|
if len(judgement) >= 2:
|
|
first_two_chars = judgement[:2]
|
|
if first_two_chars.isdigit() and first_two_chars == '10':
|
|
score = 10
|
|
else:
|
|
first_char = judgement[0]
|
|
if first_char.isdigit() and 0 <= int(first_char) <= 9:
|
|
score = int(first_char)
|
|
else:
|
|
return None
|
|
elif len(judgement) == 1:
|
|
if judgement.isdigit() and 0 <= int(judgement) <= 9:
|
|
score = int(judgement)
|
|
else:
|
|
return None
|
|
else:
|
|
return None
|
|
return {'score': score}
|