From 1a67b3997410ddcca822ca9750e6900296f60c1a Mon Sep 17 00:00:00 2001 From: MaiziXiao Date: Wed, 5 Mar 2025 11:35:11 +0000 Subject: [PATCH] update --- opencompass/openicl/icl_evaluator/__init__.py | 1 + .../openicl/icl_evaluator/math_evaluator.py | 18 +++++++++++++----- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/opencompass/openicl/icl_evaluator/__init__.py b/opencompass/openicl/icl_evaluator/__init__.py index 1fd1683b..fa8f25ab 100644 --- a/opencompass/openicl/icl_evaluator/__init__.py +++ b/opencompass/openicl/icl_evaluator/__init__.py @@ -12,3 +12,4 @@ from .icl_misc_evaluator import AveragePPLEvaluator # noqa from .icl_plugin_evaluator import TEvalEvaluator # noqa from .icl_toxic_evaluator import ToxicEvaluator # noqa from .lm_evaluator import LMEvaluator # noqa +from .math_evaluator import MATHEvaluator # noqa diff --git a/opencompass/openicl/icl_evaluator/math_evaluator.py b/opencompass/openicl/icl_evaluator/math_evaluator.py index c790c17b..2e75e288 100644 --- a/opencompass/openicl/icl_evaluator/math_evaluator.py +++ b/opencompass/openicl/icl_evaluator/math_evaluator.py @@ -1,7 +1,4 @@ -from latex2sympy2_extended import NormalizationConfig -from math_verify import (ExprExtractionConfig, LatexExtractionConfig, parse, - verify) - +# flake8: noqa: E501 from opencompass.openicl.icl_evaluator import BaseEvaluator from opencompass.registry import ICL_EVALUATORS @@ -9,7 +6,18 @@ from opencompass.registry import ICL_EVALUATORS @ICL_EVALUATORS.register_module() class MATHEvaluator(BaseEvaluator): + def __init__(self, *args, **kwargs): + super().__init__(*args, **kwargs) + 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) @@ -75,7 +83,7 @@ class MATHEvaluator(BaseEvaluator): if __name__ == '__main__': import sympy - + from math_verify import parse test_cases = [ # 1. Basic arithmetic operations r'Simple fraction: \boxed{\frac{1}{2}}',