pyrit.datasets.TextJailBreak#

class TextJailBreak(*, template_path=None, template_file_name=None, string_template=None, random_template=False, **kwargs)[source]#

Bases: object

A class that manages jailbreak datasets (like DAN, etc.).

__init__(*, template_path=None, template_file_name=None, string_template=None, random_template=False, **kwargs)[source]#

Initialize a Jailbreak instance with exactly one template source.

Parameters:
  • template_path (str, optional) – Full path to a YAML template file.

  • template_file_name (str, optional) – Name of a template file in datasets/jailbreak directory.

  • string_template (str, optional) – A string template to use directly.

  • random_template (bool, optional) – Whether to use a random template from datasets/jailbreak.

  • **kwargs – Additional parameters to apply to the template. The ‘prompt’ parameter will be preserved for later use in get_jailbreak().

Raises:

ValueError – If more than one template source is provided or if no template source is provided.

Methods

__init__(*[, template_path, ...])

Initialize a Jailbreak instance with exactly one template source.

get_jailbreak(prompt)

Render the jailbreak template with the provided user prompt.

get_jailbreak_system_prompt()

Get the jailbreak template as a system prompt without a specific user prompt.

get_jailbreak(prompt: str)[source]#

Render the jailbreak template with the provided user prompt.

Parameters:

prompt (str) – The user prompt to insert into the jailbreak template.

Returns:

The rendered jailbreak template with the prompt parameter filled in.

Return type:

str

get_jailbreak_system_prompt()[source]#

Get the jailbreak template as a system prompt without a specific user prompt.

Returns:

The rendered jailbreak template with an empty prompt parameter.

Return type:

str