Prompt#
Evaluator#
- class core_genai.prompt.evaluator.PromptEvaluator(agent: IAgent, model: str, max_concurrent_tasks: int = 3, max_tokens: int = 4000, logger: Logger | None = None)[source]#
Bases:
objectGenerates test datasets, runs prompts, and grades outputs with a model-as-judge.
- __init__(agent: IAgent, model: str, max_concurrent_tasks: int = 3, max_tokens: int = 4000, logger: Logger | None = None) None[source]#
- static render(template_string: str, variables: dict) str[source]#
Replace {key} placeholders in template_string with values from variables.
- generate_unique_ideas(task_description: str, prompt_inputs_spec: dict[str, str], num_cases: int) list[str][source]#
Ask the model for num_cases distinct scenario ideas for the given task.
- generate_test_case(task_description: str, idea: str, prompt_inputs_spec: dict[str, str] | None = None) TestCase[source]#
Generate a single structured test case from a scenario idea.
- generate_dataset(task_description: str, prompt_inputs_spec: dict[str, str] | None = None, num_cases: int = 1, output_file: str = 'dataset.json') list[TestCase][source]#
Generate and persist a test dataset for the given task description.
- grade_output(test_case: TestCase, output: str, extra_criteria: str | None) dict[source]#
Score a prompt output against the test case criteria using the model.
- run_test_case(test_case: TestCase, run_prompt_function: Callable[[dict[str, str]], str], extra_criteria: str | None = None) EvaluationResult[source]#
Run run_prompt_function on a test case and return the graded result.
- run_evaluation(run_prompt_function: Callable[[dict[str, str]], str], dataset_file: str, extra_criteria: str | None = None, json_output_file: str = 'output.json', html_output_file: str = 'output.html', pass_threshold: int = 7) list[EvaluationResult][source]#
Run the full evaluation pipeline on every test case in dataset_file.