mirror of
https://github.com/jiaxiaojunQAQ/OmniSafeBench-MM.git
synced 2026-06-07 16:13:54 +02:00
35 lines
831 B
Python
35 lines
831 B
Python
"""
|
|
Evaluator base class - new architecture implementation
|
|
"""
|
|
|
|
import logging
|
|
from abc import ABC, abstractmethod
|
|
from typing import Dict, Any
|
|
|
|
from core.data_formats import ModelResponse, EvaluationResult
|
|
|
|
|
|
class BaseEvaluator(ABC):
|
|
"""Evaluator abstract base class"""
|
|
|
|
def __init__(self, config: Dict[str, Any] = None):
|
|
self.config = config or {}
|
|
self.logger = logging.getLogger(self.__class__.__name__)
|
|
self.name = self.__class__.__name__.lower()
|
|
|
|
@abstractmethod
|
|
def evaluate_response(
|
|
self, model_response: ModelResponse, **kwargs
|
|
) -> EvaluationResult:
|
|
"""
|
|
Evaluate model response
|
|
|
|
Args:
|
|
model_response: Model response
|
|
**kwargs: Additional parameters
|
|
|
|
Returns:
|
|
Evaluation result
|
|
"""
|
|
pass
|