pyrit.score.DecodingScorer

pyrit.score.DecodingScorer#

class DecodingScorer(*, text_matcher: ~pyrit.analytics.text_matching.TextMatching | None = None, categories: list[str] | None = None, aggregator: ~typing.Callable[[~typing.Iterable[~pyrit.models.score.Score]], ~pyrit.score.score_aggregator_result.ScoreAggregatorResult] = <function _create_aggregator.<locals>.aggregator>, validator: ~pyrit.score.scorer_prompt_validator.ScorerPromptValidator | None = None)[source]#

Bases: TrueFalseScorer

Scorer that checks if the request values are in the output using a text matching strategy.

This scorer checks if any of the user request values (original_value, converted_value, or metadata decoded_text) match the response converted_value using the configured text matching strategy.

__init__(*, text_matcher: ~pyrit.analytics.text_matching.TextMatching | None = None, categories: list[str] | None = None, aggregator: ~typing.Callable[[~typing.Iterable[~pyrit.models.score.Score]], ~pyrit.score.score_aggregator_result.ScoreAggregatorResult] = <function _create_aggregator.<locals>.aggregator>, validator: ~pyrit.score.scorer_prompt_validator.ScorerPromptValidator | None = None) None[source]#

Initialize the DecodingScorer.

Parameters:
  • text_matcher (Optional[TextMatching]) – The text matching strategy to use. Defaults to ExactTextMatching with case_sensitive=False.

  • categories (Optional[list[str]]) – Optional list of categories for the score. Defaults to None.

  • aggregator (TrueFalseAggregatorFunc) – The aggregator function to use. Defaults to TrueFalseScoreAggregator.OR.

  • validator (Optional[ScorerPromptValidator]) – Custom validator. Defaults to None.

Methods

__init__(*[, text_matcher, categories, ...])

Initialize the DecodingScorer.

get_identifier()

Get an identifier dictionary for the scorer for database storage.

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 the scores returned by the scorer.

Attributes

scorer_identifier

Get the scorer identifier.

scorer_type