pyrit.score.SelfAskGeneralTrueFalseScorer#
- class SelfAskGeneralTrueFalseScorer(*, chat_target: ~pyrit.prompt_target.common.prompt_chat_target.PromptChatTarget, system_prompt_format_string: str, prompt_format_string: str | None = None, category: str | None = None, validator: ~pyrit.score.scorer_prompt_validator.ScorerPromptValidator | None = None, score_aggregator: ~typing.Callable[[~typing.Iterable[~pyrit.models.score.Score]], ~pyrit.score.score_aggregator_result.ScoreAggregatorResult] = <function _create_aggregator.<locals>.aggregator>, 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:
TrueFalseScorer
A general-purpose self-ask True/False scorer that uses a chat target and a configurable system prompt and prompt format.
The target LLM must return JSON with at least the following keys: - score_value: a string of either “true” or “false” - 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, task (alias of objective), prompt, and request_piece.
prompt_format_string (Optional[str]) – User prompt template with the same placeholders.
category (Optional[str]) – Category for the score.
validator (Optional[ScorerPromptValidator]) – Custom validator. If omitted, a default validator will be used requiring text input and an objective.
score_aggregator (TrueFalseAggregatorFunc) – Aggregator for combining scores. Defaults to TrueFalseScoreAggregator.OR.
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: ~pyrit.prompt_target.common.prompt_chat_target.PromptChatTarget, system_prompt_format_string: str, prompt_format_string: str | None = None, category: str | None = None, validator: ~pyrit.score.scorer_prompt_validator.ScorerPromptValidator | None = None, score_aggregator: ~typing.Callable[[~typing.Iterable[~pyrit.models.score.Score]], ~pyrit.score.score_aggregator_result.ScoreAggregatorResult] = <function _create_aggregator.<locals>.aggregator>, 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