pyrit.prompt_converter.ToxicSentenceGeneratorConverter#
- class ToxicSentenceGeneratorConverter(*, converter_target: PromptChatTarget, prompt_template: SeedPrompt | None = None)[source]#
Bases:
LLMGenericTextConverter
Generates toxic sentence starters using an LLM.
An existing
PromptChatTarget
is used to perform the conversion (like Azure OpenAI).Based on Project Moonshot’s attack module that generates toxic sentences to test LLM safety guardrails: aiverify-foundation/moonshot-data
- __init__(*, converter_target: PromptChatTarget, prompt_template: SeedPrompt | None = None)[source]#
Initializes the converter with a specific target and template.
- Parameters:
converter_target (PromptChatTarget) – The endpoint that converts the prompt.
prompt_template (SeedPrompt) – The seed prompt template to use. If not provided, defaults to the
toxic_sentence_generator.yaml
.
Methods
__init__
(*, converter_target[, prompt_template])Initializes the converter with a specific target and template.
convert_async
(*, prompt[, input_type])Converts the given prompt into a toxic sentence starter.
convert_tokens_async
(*, prompt[, ...])Converts substrings within a prompt that are enclosed by specified start and end tokens.
get_identifier
()Returns an identifier dictionary for the converter.
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', 'reasoning', 'error'] = 'text') ConverterResult [source]#
Converts the given prompt into a toxic sentence starter.
- Parameters:
prompt (str) – The prompt to be converted.
input_type (PromptDataType) – The type of input data.
- Returns:
The conversion result containing the toxic sentence starter.
- Return type:
- input_supported(input_type: Literal['text', 'image_path', 'audio_path', 'video_path', 'url', 'reasoning', 'error']) bool [source]#
Checks if the input type is supported by the converter.
- Parameters:
input_type (PromptDataType) – 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', 'reasoning', 'error']) bool [source]#
Checks if the output type is supported by the converter.
- Parameters:
output_type (PromptDataType) – The output type to check.
- Returns:
True if the output type is supported, False otherwise.
- Return type: