Source code for datastudio.operators.rewriters.remove_reason

"""Remove Reasoning: prefix rewriter."""

import re
from typing import Any, Optional

from datastudio.utils.registry import OPERATORS

from ..core import DataItem, Rewriter


[docs] @OPERATORS.register_module() class RemoveReasonRewriter(Rewriter): """ Remove "Reasoning:" prefix from responses. Some data may have "Reasoning:" prefixes in responses that should be removed for clean output. """
[docs] def __init__( self, logger: Optional[Any] = None, **kwargs, ): """ Initialize the rewriter. Args: logger: Logger instance. """ super().__init__(logger=logger, **kwargs) if logger: logger.info(f"[{self.name}] Initialized")
[docs] def rewrite(self, item: DataItem, qa_idx: int) -> Optional[str]: """Remove Reasoning: prefix from an answer.""" qa = item.get_qa(qa_idx) if qa.answer.startswith("Reasoning:"): return re.sub(r"^Reasoning:\s*", "", qa.answer).strip() return None