def get_evaluator()

in genai-on-vertex-ai/gemini/needle_in_a_haystack/needlehaystack/run.py [0:0]


def get_evaluator(args: CommandArgs) -> Evaluator:
    """
    Selects and returns the appropriate evaluator based on the provided command arguments.
    
    Args:
        args (CommandArgs): The command line arguments parsed into a CommandArgs dataclass instance.
        
    Returns:
        Evaluator: An instance of the specified evaluator class.
        
    Raises:
        ValueError: If the specified evaluator is not supported.
    """
    match args.evaluator.lower():
        case "google":
            return GoogleEvaluator(project_id=args.gcp_project_id,
                                   model_name=args.evaluator_model_name)
        case _:
            raise ValueError(f"Invalid evaluator: {args.evaluator}")