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

default_punctuation_list

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:

ConverterResult

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:

bool

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:

bool