Source code for pyrit.prompt_converter.fuzzer_converter.fuzzer_rephrase_converter
# Copyright (c) Microsoft Corporation.
# Licensed under the MIT license.
import pathlib
from typing import Optional
from pyrit.common.apply_defaults import apply_defaults
from pyrit.common.path import DATASETS_PATH
from pyrit.models import SeedPrompt
from pyrit.prompt_converter.fuzzer_converter.fuzzer_converter_base import (
FuzzerConverter,
)
from pyrit.prompt_target import PromptChatTarget
[docs]
class FuzzerRephraseConverter(FuzzerConverter):
"""
Generates versions of a prompt with rephrased sentences.
"""
[docs]
@apply_defaults
def __init__(
self, *, converter_target: Optional[PromptChatTarget] = None, prompt_template: Optional[SeedPrompt] = None
):
prompt_template = (
prompt_template
if prompt_template
else SeedPrompt.from_yaml_file(
pathlib.Path(DATASETS_PATH) / "prompt_converters" / "fuzzer_converters" / "rephrase_converter.yaml"
)
)
super().__init__(converter_target=converter_target, prompt_template=prompt_template)