pyrit.score.ScorerPromptValidator#
- class ScorerPromptValidator(*, supported_data_types: Sequence[Literal['text', 'image_path', 'audio_path', 'video_path', 'url', 'reasoning', 'error', 'function_call', 'tool_call', 'function_call_output']] | None = None, required_metadata: Sequence[str] | None = None, supported_roles: Sequence[Literal['system', 'user', 'assistant', 'tool', 'developer']] | None = None, max_pieces_in_response: int | None = None, max_text_length: int | None = None, enforce_all_pieces_valid: bool | None = False, raise_on_no_valid_pieces: bool | None = True, is_objective_required=False)[source]#
Bases:
objectValidates message pieces and scorer configurations.
This class provides validation for scorer inputs, ensuring that message pieces meet required criteria such as data types, roles, and metadata requirements.
- __init__(*, supported_data_types: Sequence[Literal['text', 'image_path', 'audio_path', 'video_path', 'url', 'reasoning', 'error', 'function_call', 'tool_call', 'function_call_output']] | None = None, required_metadata: Sequence[str] | None = None, supported_roles: Sequence[Literal['system', 'user', 'assistant', 'tool', 'developer']] | None = None, max_pieces_in_response: int | None = None, max_text_length: int | None = None, enforce_all_pieces_valid: bool | None = False, raise_on_no_valid_pieces: bool | None = True, is_objective_required=False)[source]#
Initialize the ScorerPromptValidator.
- Parameters:
supported_data_types (Optional[Sequence[PromptDataType]]) – Data types that the scorer supports. Defaults to all data types if not provided.
required_metadata (Optional[Sequence[str]]) – Metadata keys that must be present in message pieces. Defaults to empty list.
supported_roles (Optional[Sequence[ChatMessageRole]]) – Message roles that the scorer supports. Defaults to all roles if not provided.
max_pieces_in_response (Optional[int]) – Maximum number of pieces allowed in a response. Defaults to None (no limit).
max_text_length (Optional[int]) – Maximum character length for text data type pieces. Defaults to None (no limit).
enforce_all_pieces_valid (Optional[bool]) – Whether all pieces must be valid or just at least one. Defaults to False.
raise_on_no_valid_pieces (Optional[bool]) – Whether to raise ValueError when no pieces are valid. Defaults to True for backwards compatibility. Set to False to allow empty scores.
is_objective_required (bool) – Whether an objective must be provided for scoring. Defaults to False.
Methods
__init__(*[, supported_data_types, ...])Initialize the ScorerPromptValidator.
is_message_piece_supported(message_piece)Check if a message piece is supported by this validator.
validate(message, objective)Validate a message and objective against configured requirements.
- is_message_piece_supported(message_piece: MessagePiece) bool[source]#
Check if a message piece is supported by this validator.
- Parameters:
message_piece (MessagePiece) – The message piece to check.
- Returns:
True if the message piece meets all validation criteria, False otherwise.
- Return type: