diff --git a/dingo/config/input_args.py b/dingo/config/input_args.py index e0eae246..908ba14c 100644 --- a/dingo/config/input_args.py +++ b/dingo/config/input_args.py @@ -87,6 +87,8 @@ class ExecutorArgs(BaseModel): class EvaluatorRuleArgs(BaseModel): + model_config = {"extra": "forbid"} + threshold: Optional[float] = None pattern: Optional[str] = None key_list: Optional[List[str]] = None @@ -119,7 +121,7 @@ class EvaluatorLLMArgs(BaseModel): class EvalPiplineConfig(BaseModel): - """Single evaluator configuration item""" + """Single evaluator configuration item.""" name: str config: Optional[EvaluatorRuleArgs | EvaluatorLLMArgs] = None diff --git a/dingo/exec/local.py b/dingo/exec/local.py index 3dc170b1..5f11b1ea 100644 --- a/dingo/exec/local.py +++ b/dingo/exec/local.py @@ -178,8 +178,9 @@ def evaluate_single_data(self, dingo_id: str, eval_fields: dict, eval_type: str, Model.set_config_rule(model, e_c_i.config) elif eval_type == 'llm': model_cls = Model.llm_name_map.get(e_c_i.name) - model = model_cls() # 实例化类为对象,避免多线程配置覆盖 + model = model_cls() Model.set_config_llm(model, e_c_i.config) + Model.set_config_llm(model_cls, e_c_i.config) else: raise ValueError(f"Error eval_type: {eval_type}")