pyrit.identifiers.ScorerIdentifier#

class ScorerIdentifier(class_name: str, class_module: str, class_description: str, identifier_type: IdentifierType, scorer_type: ScoreType = 'unknown', system_prompt_template: Optional[str] = None, user_prompt_template: Optional[str] = None, sub_identifier: Optional[List['ScorerIdentifier']] = None, target_info: Optional[Dict[str, Any]] = None, score_aggregator: Optional[str] = None, scorer_specific_params: Optional[Dict[str, Any]] = None, *, hash: str | None = None, pyrit_version: str = <factory>)[source]#

Bases: Identifier

Identifier for Scorer instances.

This frozen dataclass extends Identifier with scorer-specific fields. Long prompt templates are automatically truncated for storage display.

__init__(class_name: str, class_module: str, class_description: str, identifier_type: IdentifierType, scorer_type: ScoreType = 'unknown', system_prompt_template: Optional[str] = None, user_prompt_template: Optional[str] = None, sub_identifier: Optional[List['ScorerIdentifier']] = None, target_info: Optional[Dict[str, Any]] = None, score_aggregator: Optional[str] = None, scorer_specific_params: Optional[Dict[str, Any]] = None, *, hash: str | None = None, pyrit_version: str = <factory>) None#

Methods

__init__(class_name, class_module, ...[, ...])

from_dict(data)

Create a ScorerIdentifier from a dictionary (e.g., retrieved from database).

normalize(value)

Normalize a value to an Identifier instance.

to_dict()

Return only fields suitable for DB storage.

Attributes

hash

score_aggregator

The name of the score aggregator function.

scorer_specific_params

Additional scorer-specific parameters.

scorer_type

The type of scorer ("true_false", "float_scale", or "unknown").

sub_identifier

List of sub-scorer identifiers for composite scorers.

system_prompt_template

The system prompt template used by the scorer.

target_info

Information about the prompt target used by the scorer.

user_prompt_template

The user prompt template used by the scorer.

class_name

class_module

class_description

identifier_type

snake_class_name

unique_name

pyrit_version

classmethod from_dict(data: dict[str, Any]) ScorerIdentifier[source]#

Create a ScorerIdentifier from a dictionary (e.g., retrieved from database).

Extends the base Identifier.from_dict() to recursively reconstruct nested ScorerIdentifier objects in sub_identifier.

Parameters:

data – The dictionary representation.

Returns:

A new ScorerIdentifier instance.

Return type:

ScorerIdentifier

score_aggregator: str | None = None#

The name of the score aggregator function.

scorer_specific_params: Dict[str, Any] | None = None#

Additional scorer-specific parameters.

scorer_type: ScoreType = 'unknown'#

The type of scorer (“true_false”, “float_scale”, or “unknown”).

sub_identifier: List['ScorerIdentifier'] | None = None#

List of sub-scorer identifiers for composite scorers.

system_prompt_template: str | None = None#

The system prompt template used by the scorer. Truncated for storage if > 100 characters.

target_info: Dict[str, Any] | None = None#

Information about the prompt target used by the scorer.

user_prompt_template: str | None = None#

The user prompt template used by the scorer. Truncated for storage if > 100 characters.