pyrit.prompt_converter.RepeatTokenConverter#
- class RepeatTokenConverter(*, token_to_repeat: str = None, times_to_repeat: int = None, token_insert_mode: str = 'split')[source]#
Bases:
PromptConverter
Repeat a specified token a specified number of times in addition to a given prompt. Based on: https://dropbox.tech/machine-learning/bye-bye-bye-evolution-of-repeated-token-attacks-on-chatgpt-models
- Parameters:
token_to_repeat (string, default=None) – The string to be repeated
times_to_repeat (int, default=None) – The number of times the string will be repeated
token_insert_mode ({"split", "prepend", "append", "repeat"}, default="prepend") –
Method to insert repeated tokens:
If “split” prompt text will be split on the first occurance of (.?!) punctuation, and repeated tokens will be inserted at location of split.
If “prepend” repeated tokens will be inserted before the prompt text.
If “append” repeated tokens will be inserted after the prompt text.
If “repeat” prompt text will be ignored and result will only be repeated tokens.
- __init__(*, token_to_repeat: str = None, times_to_repeat: int = None, token_insert_mode: str = 'split') None [source]#
Methods
__init__
(*[, token_to_repeat, ...])convert_async
(*, prompt[, input_type])Converter to insert repeated tokens into the prompt.
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') ConverterResult [source]#
Converter to insert repeated tokens into the prompt.
- 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: