pyrit.prompt_converter.InsertPunctuationConverter#
- class InsertPunctuationConverter(word_swap_ratio: float = 0.2, between_words: bool = True)[source]#
Bases:
PromptConverter
Inserts punctuation into a prompt to test robustness. Punctuation insertion: inserting single punctuations in string.punctuation. Words in a prompt: a word does not contain any punctuation and space. “a1b2c3” is a word; “a1 2” are 2 words; “a1,b,3” are 3 words.
- __init__(word_swap_ratio: float = 0.2, between_words: bool = True) None [source]#
Initialize the converter with optional and word swap ratio. :param word_swap_ratio: Percentage of words to perturb. Defaults to 0.2. :type word_swap_ratio: float :param between_words: If True, insert punctuation only between words. :type between_words: bool :param If False: :param insert punctuation within words. Defaults to True.:
Methods
__init__
([word_swap_ratio, between_words])Initialize the converter with optional and word swap ratio.
convert_async
(*, prompt[, input_type, ...])Convert the given prompt by inserting punctuation.
convert_tokens_async
(*, prompt[, ...])Converts substrings within a prompt that are enclosed by specified start and end tokens.
get_identifier
()input_supported
(input_type)Checks if the input type is supported by the converter
output_supported
(output_type)Checks if the output type is supported by the converter
Attributes
supported_input_types
Returns a list of supported input types for the converter.
supported_output_types
Returns a list of supported output types for the converter.
- async convert_async(*, prompt: str, input_type: Literal['text', 'image_path', 'audio_path', 'video_path', 'url', 'error'] = 'text', punctuation_list: List[str] | None = None) ConverterResult [source]#
Convert the given prompt by inserting punctuation. :param prompt: The text to convert. :type prompt: str :param input_type: The type of input data. :type input_type: PromptDataType :param punctuation_list: List of punctuations to use for insertion. :type punctuation_list: Optional[List[str]]
- Returns:
A ConverterResult containing a interation of modified prompts.
- Return type:
- default_punctuation_list = [',', '.', '!', '?', ':', ';', '-']#
- input_supported(input_type: Literal['text', 'image_path', 'audio_path', 'video_path', 'url', 'error']) bool [source]#
Checks if the input type is supported by the converter
- Parameters:
input_type – The input type to check
- Returns:
True if the input type is supported, False otherwise
- Return type:
- output_supported(output_type: Literal['text', 'image_path', 'audio_path', 'video_path', 'url', 'error']) bool [source]#
Checks if the output type is supported by the converter
- Parameters:
output_type – The output type to check
- Returns:
True if the output type is supported, False otherwise
- Return type: