This commit is contained in:
MaiziXiao 2025-03-05 11:35:11 +00:00
parent fff2d51440
commit 1a67b39974
2 changed files with 14 additions and 5 deletions

View File

@ -12,3 +12,4 @@ from .icl_misc_evaluator import AveragePPLEvaluator # noqa
from .icl_plugin_evaluator import TEvalEvaluator # noqa from .icl_plugin_evaluator import TEvalEvaluator # noqa
from .icl_toxic_evaluator import ToxicEvaluator # noqa from .icl_toxic_evaluator import ToxicEvaluator # noqa
from .lm_evaluator import LMEvaluator # noqa from .lm_evaluator import LMEvaluator # noqa
from .math_evaluator import MATHEvaluator # noqa

View File

@ -1,7 +1,4 @@
from latex2sympy2_extended import NormalizationConfig # flake8: noqa: E501
from math_verify import (ExprExtractionConfig, LatexExtractionConfig, parse,
verify)
from opencompass.openicl.icl_evaluator import BaseEvaluator from opencompass.openicl.icl_evaluator import BaseEvaluator
from opencompass.registry import ICL_EVALUATORS from opencompass.registry import ICL_EVALUATORS
@ -9,7 +6,18 @@ from opencompass.registry import ICL_EVALUATORS
@ICL_EVALUATORS.register_module() @ICL_EVALUATORS.register_module()
class MATHEvaluator(BaseEvaluator): class MATHEvaluator(BaseEvaluator):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
def score(self, predictions, references): def score(self, predictions, references):
try:
from latex2sympy2_extended import NormalizationConfig
from math_verify import (ExprExtractionConfig,
LatexExtractionConfig, parse, verify)
except ImportError:
raise ImportError(
'Failed to import required modules. Please install the necessary packages: '
'pip install math_verify latex2sympy2_extended')
self.is_num_equal(predictions, references) self.is_num_equal(predictions, references)
@ -75,7 +83,7 @@ class MATHEvaluator(BaseEvaluator):
if __name__ == '__main__': if __name__ == '__main__':
import sympy import sympy
from math_verify import parse
test_cases = [ test_cases = [
# 1. Basic arithmetic operations # 1. Basic arithmetic operations
r'Simple fraction: \boxed{\frac{1}{2}}', r'Simple fraction: \boxed{\frac{1}{2}}',