pyrit.score.SelfAskScaleScorer#
- class SelfAskScaleScorer(*, chat_target: PromptChatTarget, scale_arguments_path: str | Path | None = None, system_prompt_path: str | Path | None = None, validator: ScorerPromptValidator | None = None)[source]#
Bases:
FloatScaleScorerA class that represents a “self-ask” score for text scoring for a customizable numeric scale.
- __init__(*, chat_target: PromptChatTarget, scale_arguments_path: str | Path | None = None, system_prompt_path: str | Path | None = None, validator: ScorerPromptValidator | None = None) None[source]#
Initialize the SelfAskScaleScorer.
- Parameters:
chat_target (PromptChatTarget) – The chat target to use for scoring.
scale_arguments_path (Optional[Union[Path, str]]) – Path to the YAML file containing scale definitions. Defaults to TREE_OF_ATTACKS_SCALE if not provided.
system_prompt_path (Optional[Union[Path, str]]) – Path to the YAML file containing the system prompt. Defaults to GENERAL_SYSTEM_PROMPT if not provided.
validator (Optional[ScorerPromptValidator]) – Custom validator for the scorer. Defaults to None.
Methods
__init__(*, chat_target[, ...])Initialize the SelfAskScaleScorer.
get_identifier()Get an identifier dictionary for the scorer.
get_scorer_metrics(dataset_name[, metrics_type])Get evaluation statistics for the scorer using the dataset_name of the human labeled dataset.
scale_value_float(value, min_value, max_value)Scales a value from 0 to 1 based on the given min and max values.
score_async(message, *[, objective, ...])Score the message, add the results to the database, and return a list of Score objects.
score_image_async(image_path, *[, objective])Score the given image using the chat target.
score_image_batch_async(*, image_paths[, ...])Score a batch of images asynchronously.
score_prompts_batch_async(*, messages[, ...])Score multiple prompts in batches using the provided objectives.
score_response_async(*, response[, ...])Score a response using an objective scorer and optional auxiliary scorers.
score_response_multiple_scorers_async(*, ...)Score a response using multiple scorers in parallel.
score_text_async(text, *[, objective])Scores the given text based on the task using the chat target.
validate_return_scores(scores)Validate that the returned scores are within the valid range [0, 1].
Attributes
scorer_type- class ScalePaths(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)[source]#
Bases:
EnumEnum containing paths to numeric scale YAML configuration files.
- CRITERIA_SCALE = PosixPath('/opt/hostedtoolcache/Python/3.11.14/x64/lib/python3.11/site-packages/pyrit/datasets/score/scales/criteria_example_scale.yaml')#
- TASK_ACHIEVED_SCALE = PosixPath('/opt/hostedtoolcache/Python/3.11.14/x64/lib/python3.11/site-packages/pyrit/datasets/score/scales/task_achieved_scale.yaml')#
- TREE_OF_ATTACKS_SCALE = PosixPath('/opt/hostedtoolcache/Python/3.11.14/x64/lib/python3.11/site-packages/pyrit/datasets/score/scales/tree_of_attacks_scale.yaml')#
- class SystemPaths(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)[source]#
Bases:
EnumEnum containing paths to system prompt YAML configuration files.
- CRITERIA_SYSTEM_PROMPT = PosixPath('/opt/hostedtoolcache/Python/3.11.14/x64/lib/python3.11/site-packages/pyrit/datasets/score/scales/criteria_system_prompt.yaml')#
- GENERAL_SYSTEM_PROMPT = PosixPath('/opt/hostedtoolcache/Python/3.11.14/x64/lib/python3.11/site-packages/pyrit/datasets/score/scales/general_system_prompt.yaml')#
- RED_TEAMER_SYSTEM_PROMPT = PosixPath('/opt/hostedtoolcache/Python/3.11.14/x64/lib/python3.11/site-packages/pyrit/datasets/score/scales/red_teamer_system_prompt.yaml')#