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