diff --git a/llama_stack/providers/inline/scoring/basic/utils/math_utils.py b/llama_stack/providers/inline/scoring/basic/utils/math_utils.py index 2fe5650c9..e11fc625b 100644 --- a/llama_stack/providers/inline/scoring/basic/utils/math_utils.py +++ b/llama_stack/providers/inline/scoring/basic/utils/math_utils.py @@ -4,29 +4,10 @@ # This source code is licensed under the terms described in the LICENSE file in # the root directory of this source tree. -import contextlib import re -import signal -from types import FrameType -from typing import Iterator, Optional, Sequence - - -class TimeoutError(Exception): - pass - - -@contextlib.contextmanager -def time_limit(seconds: float) -> Iterator[None]: - def signal_handler(signum: int, frame: Optional[FrameType]) -> None: - raise TimeoutError("Timed out!") - - signal.setitimer(signal.ITIMER_REAL, seconds) - signal.signal(signal.SIGALRM, signal_handler) - try: - yield - finally: - signal.setitimer(signal.ITIMER_REAL, 0) +from typing import Sequence +from llama_stack.providers.utils.scoring.basic_scoring_utils import time_limit # from minerva SUBSTITUTIONS = [ diff --git a/llama_stack/providers/utils/scoring/basic_scoring_utils.py b/llama_stack/providers/utils/scoring/basic_scoring_utils.py new file mode 100644 index 000000000..91abfdb2e --- /dev/null +++ b/llama_stack/providers/utils/scoring/basic_scoring_utils.py @@ -0,0 +1,26 @@ +# Copyright (c) Meta Platforms, Inc. and affiliates. +# All rights reserved. +# +# This source code is licensed under the terms described in the LICENSE file in +# the root directory of this source tree. +import contextlib +import signal +from types import FrameType +from typing import Iterator, Optional + + +class TimeoutError(Exception): + pass + + +@contextlib.contextmanager +def time_limit(seconds: float) -> Iterator[None]: + def signal_handler(signum: int, frame: Optional[FrameType]) -> None: + raise TimeoutError("Timed out!") + + signal.setitimer(signal.ITIMER_REAL, seconds) + signal.signal(signal.SIGALRM, signal_handler) + try: + yield + finally: + signal.setitimer(signal.ITIMER_REAL, 0)