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}")