pyrit.score.ConversationScorer#

class ConversationScorer(*, validator: ScorerPromptValidator)[source]#

Bases: Scorer, ABC

Scorer that evaluates entire conversation history rather than individual messages.

This scorer wraps another scorer (FloatScaleScorer or TrueFalseScorer) and evaluates the full conversation context. Useful for multi-turn conversations where context matters (e.g., psychosocial harms that emerge over time or persuasion/deception over many messages).

The ConversationScorer dynamically inherits from the same base class as the wrapped scorer, ensuring proper type compatibility.

Note: This class cannot be instantiated directly. Use create_conversation_scorer() factory instead.

__init__(*, validator: ScorerPromptValidator)#

Initialize the Scorer.

Parameters:

validator (ScorerPromptValidator) – Validator for message pieces and scorer configuration.

Methods

__init__(*, validator)

Initialize the Scorer.

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 scores by delegating to the wrapped scorer's validation.

Attributes

scorer_type

validate_return_scores(scores: list[Score]) None[source]#

Validate scores by delegating to the wrapped scorer’s validation.

Parameters:

scores (list[Score]) – The scores to validate.