Skip to content

Conversation

Copy link

Copilot AI commented Jan 25, 2026

The converters documentation only covered request-side converters. Users need guidance on applying converters to target responses (e.g., translating responses back to English after sending prompts in another language).

Changes

  • Added "Response Converters" section to doc/code/converters/0_converters.py and corresponding .ipynb
  • Documented common use cases: translation round-trips, decoding encoded responses, response normalization
  • Added practical example using TranslationConverter for both request and response conversion via AttackConverterConfig

Example

from pyrit.executor.attack import AttackConverterConfig, PromptSendingAttack
from pyrit.prompt_converter import TranslationConverter
from pyrit.prompt_normalizer import PromptConverterConfiguration

# Request converter: translate English to French
request_converter = TranslationConverter(converter_target=converter_target, language="French")
request_converter_config = PromptConverterConfiguration(converters=[request_converter])

# Response converter: translate response back to English
response_converter = TranslationConverter(converter_target=converter_target, language="English")
response_converter_config = PromptConverterConfiguration(converters=[response_converter])

converter_config = AttackConverterConfig(
    request_converters=[request_converter_config],
    response_converters=[response_converter_config],
)

attack = PromptSendingAttack(
    objective_target=prompt_target,
    attack_converter_config=converter_config,
)

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • arxiv.org
    • Triggering command: /home/REDACTED/.cache/pre-commit/repoam61m50q/py_env-python3.12/bin/python /home/REDACTED/.cache/pre-commit/repoam61m50q/py_env-python3.12/bin/python ./build_scripts/check_links.py doc/code/executor/attack/many_shot_jailbreak_attack.py doc/code/targets/1_openai_chat_target.py doc/generate_docs/pct_to_ipynb.py doc/code/memory/1_sqlite_memory.py doc/code/executor/promptgen/fuzzer_generator.py doc/cookbooks/1_sending_prompts.py doc/code/front_end/2_pyrit_shell.md doc/code/auxiliary_attacks/0_auxiliary_attacks.py doc/code/executor/workflow/1_xpia_website.py doc/code/memory/2_basic_memory_programming.py doc/code/executor/attack/role_play_attack.py doc/contributing/README.md doc/setup/jupyter_setup.md doc/code/memory/6_azure_sql_memory.py doc/code/converters/0_converters.py doc/code/converters/1_text_to_text_converters.py doc/code/targets/8_openai_responses_target.py doc/code/memory/3_memory_data_types.md (dns block)
    • Triggering command: /home/REDACTED/.cache/pre-commit/repoam61m50q/py_env-python3.12/bin/python /home/REDACTED/.cache/pre-commit/repoam61m50q/py_env-python3.12/bin/python ./build_scripts/check_links.py doc/code/registry/0_registry.md doc/code/setup/1_configuration.py doc/code/targets/9_message_normalizer.py doc/setup/1a_install_uv.md doc/code/datasets/0_dataset.md doc/code/scoring/prompt_shield_scorer.py doc/code/memory/9_exporting_data.py doc/contributing/8_notebooks.md doc/generate_docs/ipynb_to_pct.py doc/index.md doc/code/executor/benchmark/1_qa_benchmark.py doc/code/converters/2_audio_converters.py doc/code/executor/attack/0_attack.md doc/code/targets/5_multi_modal_targets.py doc/code/executor/workflow/2_xpia_ai_recruiter.py doc/code/memory/5_memory_labels.py doc/contributing/1b_install_devcontainers.md doc/contributing/9_pre_commit.md (dns block)
    • Triggering command: /home/REDACTED/.cache/pre-commit/repoam61m50q/py_env-python3.12/bin/python /home/REDACTED/.cache/pre-commit/repoam61m50q/py_env-python3.12/bin/python ./build_scripts/check_links.py doc/blog/2025_03_03.md doc/code/executor/benchmark/0_benchmark.md doc/contributing/1c_install_conda.md doc/cookbooks/3_copyright_violations.py doc/contributing/10_exception.md doc/code/datasets/4_dataset_coding.py doc/blog/2025_02_11.md doc/setup/1b_install_docker.md doc/cookbooks/README.md doc/contributing/3_incorporating_research.md doc/code/setup/default_values.md doc/code/targets/7_http_target.py doc/contributing/1a_install_uv.md doc/code/front_end/1_pyrit_scan.py doc/code/memory/10_schema_diagram.md doc/code/auxiliary_attacks/1_gcg_azure_ml.py doc/code/executor/attack/chunked_request_attack.py doc/blog/2024_12_3.md (dns block)
  • azure.github.io
    • Triggering command: /home/REDACTED/.cache/pre-commit/repoam61m50q/py_env-python3.12/bin/python /home/REDACTED/.cache/pre-commit/repoam61m50q/py_env-python3.12/bin/python ./build_scripts/check_links.py doc/blog/2025_01_14.md doc/code/scoring/persuasion_full_conversation_scorer.py doc/code/memory/0_memory.md doc/code/executor/attack/skeleton_key_attack.py doc/code/user_guide.md doc/code/executor/attack/multi_prompt_sending_attack.py doc/code/memory/4_manually_working_with_memory.md doc/code/targets/realtime_target.py doc/code/memory/embeddings.py docker/README.md doc/code/datasets/2_seed_programming.py doc/setup/1c_install_conda.md doc/code/targets/prompt_shield_target.py doc/code/scenarios/1_configuring_scenarios.py doc/code/memory/7_azure_sql_memory_attacks.py doc/code/memory/8_seed_database.py doc/code/targets/2_custom_targets.py doc/code/scoring/7_batch_scorer.py (dns block)
  • crescendo-the-multiturn-jailbreak.github.io
    • Triggering command: /home/REDACTED/.cache/pre-commit/repoam61m50q/py_env-python3.12/bin/python /home/REDACTED/.cache/pre-commit/repoam61m50q/py_env-python3.12/bin/python ./build_scripts/check_links.py doc/blog/2025_03_03.md doc/code/executor/benchmark/0_benchmark.md doc/contributing/1c_install_conda.md doc/cookbooks/3_copyright_violations.py doc/contributing/10_exception.md doc/code/datasets/4_dataset_coding.py doc/blog/2025_02_11.md doc/setup/1b_install_docker.md doc/cookbooks/README.md doc/contributing/3_incorporating_research.md doc/code/setup/default_values.md doc/code/targets/7_http_target.py doc/contributing/1a_install_uv.md doc/code/front_end/1_pyrit_scan.py doc/code/memory/10_schema_diagram.md doc/code/auxiliary_attacks/1_gcg_azure_ml.py doc/code/executor/attack/chunked_request_attack.py doc/blog/2024_12_3.md (dns block)
  • crucible.dreadnode.io
    • Triggering command: /home/REDACTED/.cache/pre-commit/repoam61m50q/py_env-python3.12/bin/python /home/REDACTED/.cache/pre-commit/repoam61m50q/py_env-python3.12/bin/python ./build_scripts/check_links.py doc/blog/2025_01_14.md doc/code/scoring/persuasion_full_conversation_scorer.py doc/code/memory/0_memory.md doc/code/executor/attack/skeleton_key_attack.py doc/code/user_guide.md doc/code/executor/attack/multi_prompt_sending_attack.py doc/code/memory/4_manually_working_with_memory.md doc/code/targets/realtime_target.py doc/code/memory/embeddings.py docker/README.md doc/code/datasets/2_seed_programming.py doc/setup/1c_install_conda.md doc/code/targets/prompt_shield_target.py doc/code/scenarios/1_configuring_scenarios.py doc/code/memory/7_azure_sql_memory_attacks.py doc/code/memory/8_seed_database.py doc/code/targets/2_custom_targets.py doc/code/scoring/7_batch_scorer.py (dns block)
  • dbeaver.com
    • Triggering command: /home/REDACTED/.cache/pre-commit/repoam61m50q/py_env-python3.12/bin/python /home/REDACTED/.cache/pre-commit/repoam61m50q/py_env-python3.12/bin/python ./build_scripts/check_links.py doc/blog/2025_01_14.md doc/code/scoring/persuasion_full_conversation_scorer.py doc/code/memory/0_memory.md doc/code/executor/attack/skeleton_key_attack.py doc/code/user_guide.md doc/code/executor/attack/multi_prompt_sending_attack.py doc/code/memory/4_manually_working_with_memory.md doc/code/targets/realtime_target.py doc/code/memory/embeddings.py docker/README.md doc/code/datasets/2_seed_programming.py doc/setup/1c_install_conda.md doc/code/targets/prompt_shield_target.py doc/code/scenarios/1_configuring_scenarios.py doc/code/memory/7_azure_sql_memory_attacks.py doc/code/memory/8_seed_database.py doc/code/targets/2_custom_targets.py doc/code/scoring/7_batch_scorer.py (dns block)
  • discord.gg
    • Triggering command: /home/REDACTED/.cache/pre-commit/repoam61m50q/py_env-python3.12/bin/python /home/REDACTED/.cache/pre-commit/repoam61m50q/py_env-python3.12/bin/python ./build_scripts/check_links.py doc/code/executor/attack/many_shot_jailbreak_attack.py doc/code/targets/1_openai_chat_target.py doc/generate_docs/pct_to_ipynb.py doc/code/memory/1_sqlite_memory.py doc/code/executor/promptgen/fuzzer_generator.py doc/cookbooks/1_sending_prompts.py doc/code/front_end/2_pyrit_shell.md doc/code/auxiliary_attacks/0_auxiliary_attacks.py doc/code/executor/workflow/1_xpia_website.py doc/code/memory/2_basic_memory_programming.py doc/code/executor/attack/role_play_attack.py doc/contributing/README.md doc/setup/jupyter_setup.md doc/code/memory/6_azure_sql_memory.py doc/code/converters/0_converters.py doc/code/converters/1_text_to_text_converters.py doc/code/targets/8_openai_responses_target.py doc/code/memory/3_memory_data_types.md (dns block)
  • docs.microsoft.com
    • Triggering command: /home/REDACTED/.cache/pre-commit/repoam61m50q/py_env-python3.12/bin/python /home/REDACTED/.cache/pre-commit/repoam61m50q/py_env-python3.12/bin/python ./build_scripts/check_links.py doc/blog/2025_03_03.md doc/code/executor/benchmark/0_benchmark.md doc/contributing/1c_install_conda.md doc/cookbooks/3_copyright_violations.py doc/contributing/10_exception.md doc/code/datasets/4_dataset_coding.py doc/blog/2025_02_11.md doc/setup/1b_install_docker.md doc/cookbooks/README.md doc/contributing/3_incorporating_research.md doc/code/setup/default_values.md doc/code/targets/7_http_target.py doc/contributing/1a_install_uv.md doc/code/front_end/1_pyrit_scan.py doc/code/memory/10_schema_diagram.md doc/code/auxiliary_attacks/1_gcg_azure_ml.py doc/code/executor/attack/chunked_request_attack.py doc/blog/2024_12_3.md (dns block)
  • docs.nvidia.com
    • Triggering command: /home/REDACTED/.cache/pre-commit/repoam61m50q/py_env-python3.12/bin/python /home/REDACTED/.cache/pre-commit/repoam61m50q/py_env-python3.12/bin/python ./build_scripts/check_links.py doc/blog/2025_03_03.md doc/code/executor/benchmark/0_benchmark.md doc/contributing/1c_install_conda.md doc/cookbooks/3_copyright_violations.py doc/contributing/10_exception.md doc/code/datasets/4_dataset_coding.py doc/blog/2025_02_11.md doc/setup/1b_install_docker.md doc/cookbooks/README.md doc/contributing/3_incorporating_research.md doc/code/setup/default_values.md doc/code/targets/7_http_target.py doc/contributing/1a_install_uv.md doc/code/front_end/1_pyrit_scan.py doc/code/memory/10_schema_diagram.md doc/code/auxiliary_attacks/1_gcg_azure_ml.py doc/code/executor/attack/chunked_request_attack.py doc/blog/2024_12_3.md (dns block)
  • gandalf.lakera.ai
    • Triggering command: /home/REDACTED/.cache/pre-commit/repoam61m50q/py_env-python3.12/bin/python /home/REDACTED/.cache/pre-commit/repoam61m50q/py_env-python3.12/bin/python ./build_scripts/check_links.py doc/blog/2025_01_14.md doc/code/scoring/persuasion_full_conversation_scorer.py doc/code/memory/0_memory.md doc/code/executor/attack/skeleton_key_attack.py doc/code/user_guide.md doc/code/executor/attack/multi_prompt_sending_attack.py doc/code/memory/4_manually_working_with_memory.md doc/code/targets/realtime_target.py doc/code/memory/embeddings.py docker/README.md doc/code/datasets/2_seed_programming.py doc/setup/1c_install_conda.md doc/code/targets/prompt_shield_target.py doc/code/scenarios/1_configuring_scenarios.py doc/code/memory/7_azure_sql_memory_attacks.py doc/code/memory/8_seed_database.py doc/code/targets/2_custom_targets.py doc/code/scoring/7_batch_scorer.py (dns block)
  • git-scm.com
    • Triggering command: /home/REDACTED/.cache/pre-commit/repoam61m50q/py_env-python3.12/bin/python /home/REDACTED/.cache/pre-commit/repoam61m50q/py_env-python3.12/bin/python ./build_scripts/check_links.py doc/blog/2025_03_03.md doc/code/executor/benchmark/0_benchmark.md doc/contributing/1c_install_conda.md doc/cookbooks/3_copyright_violations.py doc/contributing/10_exception.md doc/code/datasets/4_dataset_coding.py doc/blog/2025_02_11.md doc/setup/1b_install_docker.md doc/cookbooks/README.md doc/contributing/3_incorporating_research.md doc/code/setup/default_values.md doc/code/targets/7_http_target.py doc/contributing/1a_install_uv.md doc/code/front_end/1_pyrit_scan.py doc/code/memory/10_schema_diagram.md doc/code/auxiliary_attacks/1_gcg_azure_ml.py doc/code/executor/attack/chunked_request_attack.py doc/blog/2024_12_3.md (dns block)
  • google.github.io
    • Triggering command: /home/REDACTED/.cache/pre-commit/repoam61m50q/py_env-python3.12/bin/python /home/REDACTED/.cache/pre-commit/repoam61m50q/py_env-python3.12/bin/python ./build_scripts/check_links.py doc/blog/2025_01_14.md doc/code/scoring/persuasion_full_conversation_scorer.py doc/code/memory/0_memory.md doc/code/executor/attack/skeleton_key_attack.py doc/code/user_guide.md doc/code/executor/attack/multi_prompt_sending_attack.py doc/code/memory/4_manually_working_with_memory.md doc/code/targets/realtime_target.py doc/code/memory/embeddings.py docker/README.md doc/code/datasets/2_seed_programming.py doc/setup/1c_install_conda.md doc/code/targets/prompt_shield_target.py doc/code/scenarios/1_configuring_scenarios.py doc/code/memory/7_azure_sql_memory_attacks.py doc/code/memory/8_seed_database.py doc/code/targets/2_custom_targets.py doc/code/scoring/7_batch_scorer.py (dns block)
  • jupyterbook.org
    • Triggering command: /home/REDACTED/.cache/pre-commit/repoam61m50q/py_env-python3.12/bin/python /home/REDACTED/.cache/pre-commit/repoam61m50q/py_env-python3.12/bin/python ./build_scripts/check_links.py doc/code/registry/0_registry.md doc/code/setup/1_configuration.py doc/code/targets/9_message_normalizer.py doc/setup/1a_install_uv.md doc/code/datasets/0_dataset.md doc/code/scoring/prompt_shield_scorer.py doc/code/memory/9_exporting_data.py doc/contributing/8_notebooks.md doc/generate_docs/ipynb_to_pct.py doc/index.md doc/code/executor/benchmark/1_qa_benchmark.py doc/code/converters/2_audio_converters.py doc/code/executor/attack/0_attack.md doc/code/targets/5_multi_modal_targets.py doc/code/executor/workflow/2_xpia_ai_recruiter.py doc/code/memory/5_memory_labels.py doc/contributing/1b_install_devcontainers.md doc/contributing/9_pre_commit.md (dns block)
  • learn.microsoft.com
    • Triggering command: /home/REDACTED/.cache/pre-commit/repoam61m50q/py_env-python3.12/bin/python /home/REDACTED/.cache/pre-commit/repoam61m50q/py_env-python3.12/bin/python ./build_scripts/check_links.py doc/code/registry/0_registry.md doc/code/setup/1_configuration.py doc/code/targets/9_message_normalizer.py doc/setup/1a_install_uv.md doc/code/datasets/0_dataset.md doc/code/scoring/prompt_shield_scorer.py doc/code/memory/9_exporting_data.py doc/contributing/8_notebooks.md doc/generate_docs/ipynb_to_pct.py doc/index.md doc/code/executor/benchmark/1_qa_benchmark.py doc/code/converters/2_audio_converters.py doc/code/executor/attack/0_attack.md doc/code/targets/5_multi_modal_targets.py doc/code/executor/workflow/2_xpia_ai_recruiter.py doc/code/memory/5_memory_labels.py doc/contributing/1b_install_devcontainers.md doc/contributing/9_pre_commit.md (dns block)
    • Triggering command: /home/REDACTED/.cache/pre-commit/repoam61m50q/py_env-python3.12/bin/python /home/REDACTED/.cache/pre-commit/repoam61m50q/py_env-python3.12/bin/python ./build_scripts/check_links.py doc/code/executor/attack/many_shot_jailbreak_attack.py doc/code/targets/1_openai_chat_target.py doc/generate_docs/pct_to_ipynb.py doc/code/memory/1_sqlite_memory.py doc/code/executor/promptgen/fuzzer_generator.py doc/cookbooks/1_sending_prompts.py doc/code/front_end/2_pyrit_shell.md doc/code/auxiliary_attacks/0_auxiliary_attacks.py doc/code/executor/workflow/1_xpia_website.py doc/code/memory/2_basic_memory_programming.py doc/code/executor/attack/role_play_attack.py doc/contributing/README.md doc/setup/jupyter_setup.md doc/code/memory/6_azure_sql_memory.py doc/code/converters/0_converters.py doc/code/converters/1_text_to_text_converters.py doc/code/targets/8_openai_responses_target.py doc/code/memory/3_memory_data_types.md (dns block)
    • Triggering command: /home/REDACTED/.cache/pre-commit/repoam61m50q/py_env-python3.12/bin/python /home/REDACTED/.cache/pre-commit/repoam61m50q/py_env-python3.12/bin/python ./build_scripts/check_links.py doc/blog/2025_01_14.md doc/code/scoring/persuasion_full_conversation_scorer.py doc/code/memory/0_memory.md doc/code/executor/attack/skeleton_key_attack.py doc/code/user_guide.md doc/code/executor/attack/multi_prompt_sending_attack.py doc/code/memory/4_manually_working_with_memory.md doc/code/targets/realtime_target.py doc/code/memory/embeddings.py docker/README.md doc/code/datasets/2_seed_programming.py doc/setup/1c_install_conda.md doc/code/targets/prompt_shield_target.py doc/code/scenarios/1_configuring_scenarios.py doc/code/memory/7_azure_sql_memory_attacks.py doc/code/memory/8_seed_database.py doc/code/targets/2_custom_targets.py doc/code/scoring/7_batch_scorer.py (dns block)
  • lmstudio.ai
    • Triggering command: /home/REDACTED/.cache/pre-commit/repoam61m50q/py_env-python3.12/bin/python /home/REDACTED/.cache/pre-commit/repoam61m50q/py_env-python3.12/bin/python ./build_scripts/check_links.py doc/code/executor/attack/many_shot_jailbreak_attack.py doc/code/targets/1_openai_chat_target.py doc/generate_docs/pct_to_ipynb.py doc/code/memory/1_sqlite_memory.py doc/code/executor/promptgen/fuzzer_generator.py doc/cookbooks/1_sending_prompts.py doc/code/front_end/2_pyrit_shell.md doc/code/auxiliary_attacks/0_auxiliary_attacks.py doc/code/executor/workflow/1_xpia_website.py doc/code/memory/2_basic_memory_programming.py doc/code/executor/attack/role_play_attack.py doc/contributing/README.md doc/setup/jupyter_setup.md doc/code/memory/6_azure_sql_memory.py doc/code/converters/0_converters.py doc/code/converters/1_text_to_text_converters.py doc/code/targets/8_openai_responses_target.py doc/code/memory/3_memory_data_types.md (dns block)
  • mystmd.org
    • Triggering command: /home/REDACTED/.cache/pre-commit/repoam61m50q/py_env-python3.12/bin/python /home/REDACTED/.cache/pre-commit/repoam61m50q/py_env-python3.12/bin/python ./build_scripts/check_links.py doc/code/registry/0_registry.md doc/code/setup/1_configuration.py doc/code/targets/9_message_normalizer.py doc/setup/1a_install_uv.md doc/code/datasets/0_dataset.md doc/code/scoring/prompt_shield_scorer.py doc/code/memory/9_exporting_data.py doc/contributing/8_notebooks.md doc/generate_docs/ipynb_to_pct.py doc/index.md doc/code/executor/benchmark/1_qa_benchmark.py doc/code/converters/2_audio_converters.py doc/code/executor/attack/0_attack.md doc/code/targets/5_multi_modal_targets.py doc/code/executor/workflow/2_xpia_ai_recruiter.py doc/code/memory/5_memory_labels.py doc/contributing/1b_install_devcontainers.md doc/contributing/9_pre_commit.md (dns block)
  • ollama.com
    • Triggering command: /home/REDACTED/.cache/pre-commit/repoam61m50q/py_env-python3.12/bin/python /home/REDACTED/.cache/pre-commit/repoam61m50q/py_env-python3.12/bin/python ./build_scripts/check_links.py doc/blog/2025_03_03.md doc/code/executor/benchmark/0_benchmark.md doc/contributing/1c_install_conda.md doc/cookbooks/3_copyright_violations.py doc/contributing/10_exception.md doc/code/datasets/4_dataset_coding.py doc/blog/2025_02_11.md doc/setup/1b_install_docker.md doc/cookbooks/README.md doc/contributing/3_incorporating_research.md doc/code/setup/default_values.md doc/code/targets/7_http_target.py doc/contributing/1a_install_uv.md doc/code/front_end/1_pyrit_scan.py doc/code/memory/10_schema_diagram.md doc/code/auxiliary_attacks/1_gcg_azure_ml.py doc/code/executor/attack/chunked_request_attack.py doc/blog/2024_12_3.md (dns block)
  • opensource.microsoft.com
    • Triggering command: /home/REDACTED/.cache/pre-commit/repoam61m50q/py_env-python3.12/bin/python /home/REDACTED/.cache/pre-commit/repoam61m50q/py_env-python3.12/bin/python ./build_scripts/check_links.py doc/code/executor/attack/many_shot_jailbreak_attack.py doc/code/targets/1_openai_chat_target.py doc/generate_docs/pct_to_ipynb.py doc/code/memory/1_sqlite_memory.py doc/code/executor/promptgen/fuzzer_generator.py doc/cookbooks/1_sending_prompts.py doc/code/front_end/2_pyrit_shell.md doc/code/auxiliary_attacks/0_auxiliary_attacks.py doc/code/executor/workflow/1_xpia_website.py doc/code/memory/2_basic_memory_programming.py doc/code/executor/attack/role_play_attack.py doc/contributing/README.md doc/setup/jupyter_setup.md doc/code/memory/6_azure_sql_memory.py doc/code/converters/0_converters.py doc/code/converters/1_text_to_text_converters.py doc/code/targets/8_openai_responses_target.py doc/code/memory/3_memory_data_types.md (dns block)
  • playwright.dev
    • Triggering command: /home/REDACTED/.cache/pre-commit/repoam61m50q/py_env-python3.12/bin/python /home/REDACTED/.cache/pre-commit/repoam61m50q/py_env-python3.12/bin/python ./build_scripts/check_links.py doc/blog/2025_03_03.md doc/code/executor/benchmark/0_benchmark.md doc/contributing/1c_install_conda.md doc/cookbooks/3_copyright_violations.py doc/contributing/10_exception.md doc/code/datasets/4_dataset_coding.py doc/blog/2025_02_11.md doc/setup/1b_install_docker.md doc/cookbooks/README.md doc/contributing/3_incorporating_research.md doc/code/setup/default_values.md doc/code/targets/7_http_target.py doc/contributing/1a_install_uv.md doc/code/front_end/1_pyrit_scan.py doc/code/memory/10_schema_diagram.md doc/code/auxiliary_attacks/1_gcg_azure_ml.py doc/code/executor/attack/chunked_request_attack.py doc/blog/2024_12_3.md (dns block)
  • www.anaconda.com
    • Triggering command: /home/REDACTED/.cache/pre-commit/repoam61m50q/py_env-python3.12/bin/python /home/REDACTED/.cache/pre-commit/repoam61m50q/py_env-python3.12/bin/python ./build_scripts/check_links.py doc/blog/2025_03_03.md doc/code/executor/benchmark/0_benchmark.md doc/contributing/1c_install_conda.md doc/cookbooks/3_copyright_violations.py doc/contributing/10_exception.md doc/code/datasets/4_dataset_coding.py doc/blog/2025_02_11.md doc/setup/1b_install_docker.md doc/cookbooks/README.md doc/contributing/3_incorporating_research.md doc/code/setup/default_values.md doc/code/targets/7_http_target.py doc/contributing/1a_install_uv.md doc/code/front_end/1_pyrit_scan.py doc/code/memory/10_schema_diagram.md doc/code/auxiliary_attacks/1_gcg_azure_ml.py doc/code/executor/attack/chunked_request_attack.py doc/blog/2024_12_3.md (dns block)
  • www.factcheckinsights.org
    • Triggering command: /home/REDACTED/.cache/pre-commit/repoam61m50q/py_env-python3.12/bin/python /home/REDACTED/.cache/pre-commit/repoam61m50q/py_env-python3.12/bin/python ./build_scripts/check_links.py doc/code/executor/attack/many_shot_jailbreak_attack.py doc/code/targets/1_openai_chat_target.py doc/generate_docs/pct_to_ipynb.py doc/code/memory/1_sqlite_memory.py doc/code/executor/promptgen/fuzzer_generator.py doc/cookbooks/1_sending_prompts.py doc/code/front_end/2_pyrit_shell.md doc/code/auxiliary_attacks/0_auxiliary_attacks.py doc/code/executor/workflow/1_xpia_website.py doc/code/memory/2_basic_memory_programming.py doc/code/executor/attack/role_play_attack.py doc/contributing/README.md doc/setup/jupyter_setup.md doc/code/memory/6_azure_sql_memory.py doc/code/converters/0_converters.py doc/code/converters/1_text_to_text_converters.py doc/code/targets/8_openai_responses_target.py doc/code/memory/3_memory_data_types.md (dns block)
  • www.nvidia.com
    • Triggering command: /home/REDACTED/.cache/pre-commit/repoam61m50q/py_env-python3.12/bin/python /home/REDACTED/.cache/pre-commit/repoam61m50q/py_env-python3.12/bin/python ./build_scripts/check_links.py doc/blog/2025_03_03.md doc/code/executor/benchmark/0_benchmark.md doc/contributing/1c_install_conda.md doc/cookbooks/3_copyright_violations.py doc/contributing/10_exception.md doc/code/datasets/4_dataset_coding.py doc/blog/2025_02_11.md doc/setup/1b_install_docker.md doc/cookbooks/README.md doc/contributing/3_incorporating_research.md doc/code/setup/default_values.md doc/code/targets/7_http_target.py doc/contributing/1a_install_uv.md doc/code/front_end/1_pyrit_scan.py doc/code/memory/10_schema_diagram.md doc/code/auxiliary_attacks/1_gcg_azure_ml.py doc/code/executor/attack/chunked_request_attack.py doc/blog/2024_12_3.md (dns block)

If you need me to access, download, or install something from one of these locations, you can either:

Original prompt

This section details on the original issue you should resolve

<issue_title>DOC How to use Response Converters</issue_title>
<issue_description>#### Describe the issue linked to the documentation

We need an example of how to use PromptResponseConverterConfiguration in practice.

Suggest a potential alternative/fix

This can be configured as part of a NormalizerRequest - so a good example might be to show how a response from a target could be converted to a specific format. i.e. If converting a prompt from English to a specific language, apply a response converter to convert the response back to English before returning it.

The GPTV Demo already uses NormalizerRequests for multi-modal scenarios, as an example of how this might be invoked. See unit test for an example of use.

This should probably be a new DOC page within doc/code/converters, and will need to use a simple orchestrator as an example because it is implemented within the Normalizer.
</issue_description>

<agent_instructions>Make sure to add the new section with a minimal code example and actually run the full pre-commit to ensure the website is able to build and no other errors show up</agent_instructions>

Comments on the Issue (you are @copilot in this section)

@romanlutz The current user guide only talks about converters generically, but not that they can be used on the input AND output side. This should be addressed in https://azure.github.io/PyRIT/code/converters/0_converters.html at the end in a new section.

💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.

Co-authored-by: romanlutz <10245648+romanlutz@users.noreply.github.com>
Copilot AI changed the title [WIP] Add documentation example for Response Converters docs: Add Response Converters section to converters documentation Jan 25, 2026
Copilot AI requested a review from romanlutz January 25, 2026 13:33
@romanlutz
Copy link
Contributor

I suppose you can't actually connect to our OpenAIChatTarget so I'll run the notebook part with jupytext locally and push my updates here. Everything else looks good. Thank you!

@romanlutz romanlutz changed the title docs: Add Response Converters section to converters documentation DOCS: Add Response Converters section to converters documentation Jan 25, 2026
@romanlutz romanlutz changed the title DOCS: Add Response Converters section to converters documentation DOC: Add Response Converters section to converters documentation Jan 25, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

DOC How to use Response Converters

2 participants