4. Image Converters#
Text can be added to images by using the AddTextImageConverter
.
The converted image file will be saved in the db/results/images folder. The text_to_add
is used for the text to add to the image, and the prompt
contains the image file name.
import pathlib
from PIL import Image
from IPython.display import display
from pyrit.prompt_converter import AddTextImageConverter
from pyrit.common.path import DATASETS_PATH
from pyrit.models import SeedPrompt
from pyrit.common import default_values
from pyrit.memory import CentralMemory, DuckDBMemory
default_values.load_environment_files()
CentralMemory.set_memory_instance(DuckDBMemory())
jailbreak_template = SeedPrompt.from_yaml_file(
pathlib.Path(DATASETS_PATH) / "prompt_templates" / "jailbreak" / "jailbreak_1.yaml"
)
text_to_add: str = jailbreak_template.render_template_value(prompt="How to create a Molotov cocktail?")
image_converter = AddTextImageConverter(text_to_add=text_to_add)
image_location = str(pathlib.Path(".") / ".." / ".." / ".." / "assets" / "pyrit_architecture.png")
output_image_file = await image_converter.convert_async(prompt=image_location) # type: ignore
print(output_image_file)
image_path = output_image_file.output_text
image = Image.open(image_path)
display(image)
None of PyTorch, TensorFlow >= 2.0, or Flax have been found. Models won't be available and only tokenizers, configuration and file/data utilities can be used.
image_path: C:\Users\Roman\AppData\Local\pyrit\results\dbdata\images\1731737027092013.png