def run_score_generation_on_single_row(
        self,
        feedback_fn: Callable,
        feedback_args: List[Any],
    ) -> Union[float, Tuple[float, float]]:
        """Generate a score with the feedback_fn

        Args:
            row: A single row from the dataset.
            feedback_fn: The function used to generate feedback scores.

        Returns:
            Union[float, Tuple[float, float]]: Feedback score (with metadata) after running the benchmark on a single entry in ground truth data.
        """

        benchmark_params_dict: dict = self.benchmark_params.model_dump()

        # Extract required values from the row based on the specified columns
        # feedback_args = [get_nested_value(row, col) for col in required_columns]

        # Append the benchmark parameters dictionary
        feedback_args.append(benchmark_params_dict)

        try:
            ret = feedback_fn(*feedback_args)

            if not isinstance(ret, tuple) and not isinstance(ret, float):
                raise ValueError(
                    f"Output must be a float or a tuple, got {type(ret)}"
                )

            if isinstance(ret, tuple) and isinstance(ret[1], dict):
                if (
                    ret[1]
                    and len(list(ret[1].values())) > 0
                    and isinstance(list(ret[1].values())[-1], float)
                ):
                    ret = (
                        ret[0],
                        list(ret[1].values())[-1],
                    )  # this is the case when a feedback function returns a tuple with a score and metadata like (0.5, {"confidence_score": 0.8})
                else:
                    ret = ret[0]
                    # handle the case when metadata is empty
            return ret
        except Exception as e:
            import traceback

            log.error(f"Row generated an exception: {e}")
            traceback.print_exc()
            return float("nan")  # return NaN to indicate an invalid result
Generate a score with the feedback_fn

        Args:
            row: A single row from the dataset.
            feedback_fn: The function used to generate feedback scores.

        Returns:
            Union[float, Tuple[float, float]]: Feedback score (with metadata) after running the benchmark on a single entry in ground truth data.
        
src/benchmark/trulens/benchmark/benchmark_frameworks/tru_benchmark_experiment.py