pyrit.score.SelfAskGeneralFloatScaleScorer

pyrit.score.SelfAskGeneralFloatScaleScorer#

class SelfAskGeneralFloatScaleScorer(*, chat_target: PromptChatTarget, system_prompt_format_string: str, prompt_format_string: str | None = None, category: str | None = None, min_value: int = 0, max_value: int = 100, validator: ScorerPromptValidator | None = None, score_value_output_key: str = 'score_value', rationale_output_key: str = 'rationale', description_output_key: str = 'description', metadata_output_key: str = 'metadata', category_output_key: str = 'category')[source]#

Bases: FloatScaleScorer

A general-purpose self-ask float-scale scorer that uses a chat target and a configurable system prompt and prompt format. The final score is normalized to [0, 1].

The target LLM must return JSON with at least the following keys: - score_value: a numeric value in the model’s native scale (e.g., 0-100) - rationale: a short explanation

Optionally it can include description, metadata, and category. If category is not provided in the response, the provided category argument will be applied.

Parameters:
  • chat_target (PromptChatTarget) – The chat target used to score.

  • system_prompt_format_string (str) – System prompt template with placeholders for objective, prompt, and request_piece.

  • prompt_format_string (Optional[str]) – User prompt template with the same placeholders.

  • category (Optional[str]) – Category for the score.

  • min_value (int) – Minimum of the model’s native scale. Defaults to 0.

  • max_value (int) – Maximum of the model’s native scale. Defaults to 100.

  • validator (Optional[ScorerPromptValidator]) – Custom validator. If omitted, a default validator will be used requiring text input and an objective.

  • score_value_output_key (str) – JSON key for the score value. Defaults to “score_value”.

  • rationale_output_key (str) – JSON key for the rationale. Defaults to “rationale”.

  • description_output_key (str) – JSON key for the description. Defaults to “description”.

  • metadata_output_key (str) – JSON key for the metadata. Defaults to “metadata”.

  • category_output_key (str) – JSON key for the category. Defaults to “category”.

__init__(*, chat_target: PromptChatTarget, system_prompt_format_string: str, prompt_format_string: str | None = None, category: str | None = None, min_value: int = 0, max_value: int = 100, validator: ScorerPromptValidator | None = None, score_value_output_key: str = 'score_value', rationale_output_key: str = 'rationale', description_output_key: str = 'description', metadata_output_key: str = 'metadata', category_output_key: str = 'category') None[source]#

Methods

__init__(*, chat_target, ...[, ...])

get_identifier()

Returns an identifier dictionary for the scorer.

get_scorer_metrics(dataset_name[, metrics_type])

Returns evaluation statistics for the scorer using the dataset_name of the human labeled dataset that this scorer was run against.

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(request_response, *[, ...])

Score the request_response, add the results to the database and return a list of Score objects.

score_image_async(image_path, *[, objective])

Scores the given image using the chat target.

score_image_batch_async(*, image_paths[, ...])

score_prompts_batch_async(*, request_responses)

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)

Validates the scores returned by the scorer.

Attributes

scorer_type