pyrit.models.Score#

class Score(*, score_value: str, score_value_description: str, score_type: ScoreType, score_rationale: str, message_piece_id: str | uuid.UUID, id: uuid.UUID | str | None = None, score_category: list[str] | None = None, score_metadata: dict[str, str | int | float] | None = None, scorer_class_identifier: ComponentIdentifier | dict[str, Any], timestamp: datetime | None = None, objective: str | None = None)[source]#

Bases: object

Represents a normalized score generated by a scorer component.

__init__(*, score_value: str, score_value_description: str, score_type: ScoreType, score_rationale: str, message_piece_id: str | uuid.UUID, id: uuid.UUID | str | None = None, score_category: list[str] | None = None, score_metadata: dict[str, str | int | float] | None = None, scorer_class_identifier: ComponentIdentifier | dict[str, Any], timestamp: datetime | None = None, objective: str | None = None)[source]#

Initialize a score object.

Parameters:
  • score_value (str) – Normalized score value.

  • score_value_description (str) – Human-readable score value description.

  • score_type (ScoreType) – Score type (true_false or float_scale).

  • score_rationale (str) – Rationale for the score.

  • message_piece_id (str | uuid.UUID) – ID of the scored message piece.

  • id (Optional[uuid.UUID | str]) – Optional score ID.

  • score_category (Optional[List[str]]) – Optional score categories.

  • score_metadata (Optional[Dict[str, Union[str, int, float]]]) – Optional metadata.

  • scorer_class_identifier (Union[ScorerIdentifier, Dict[str, Any]]) – Scorer identifier.

  • timestamp (Optional[datetime]) – Optional creation timestamp.

  • objective (Optional[str]) – Optional task objective.

Raises:

ValueError – If score value or score type is invalid.

Methods

__init__(*, score_value, ...[, id, ...])

Initialize a score object.

get_value()

Return the value of the score based on its type.

to_dict()

Convert this score to a dictionary.

validate(scorer_type, score_value)

Validate score value against scorer type constraints.

Attributes

get_value() bool | float[source]#

Return the value of the score based on its type.

If the score type is “true_false”, it returns True if the score value is “true” (case-insensitive), otherwise it returns False.

If the score type is “float_scale”, it returns the score value as a float.

Raises:

ValueError – If the score type is unknown.

Returns:

Parsed score value.

Return type:

bool | float

id: uuid.UUID | str#
message_piece_id: uuid.UUID | str#
score_category: list[str] | None#
score_metadata: dict[str, str | int | float] | None#
score_rationale: str#
score_type: ScoreType#
score_value: str#
score_value_description: str#
scorer_class_identifier: ComponentIdentifier#
task: str#
timestamp: datetime#
to_dict() dict[str, Any][source]#

Convert this score to a dictionary.

Returns:

Serialized score payload.

Return type:

Dict[str, Any]

validate(scorer_type: str, score_value: str) None[source]#

Validate score value against scorer type constraints.

Parameters:
  • scorer_type (str) – Scorer type to validate against.

  • score_value (str) – Raw score value.

Raises:

ValueError – If value is incompatible with scorer type constraints.