pyrit.orchestrator.PromptSendingOrchestrator#
- class PromptSendingOrchestrator(objective_target: PromptTarget, prompt_converters: list[PromptConverter] | None = None, scorers: list[Scorer] | None = None, batch_size: int = 10, verbose: bool = False)[source]#
Bases:
Orchestrator
This orchestrator takes a set of prompts, converts them using the list of PromptConverters, sends them to a target, and scores the resonses with scorers (if provided).
- __init__(objective_target: PromptTarget, prompt_converters: list[PromptConverter] | None = None, scorers: list[Scorer] | None = None, batch_size: int = 10, verbose: bool = False) None [source]#
- Parameters:
objective_target (PromptTarget) – The target for sending prompts.
prompt_converters (list[PromptConverter], Optional) – List of prompt converters. These are stacked in the order they are provided. E.g. the output of converter1 is the input of converter2.
scorers (list[Scorer], Optional) – List of scorers to use for each prompt request response, to be scored immediately after receiving response. Default is None.
batch_size (int, Optional) – The (max) batch size for sending prompts. Defaults to 10. Note: If providing max requests per minute on the prompt_target, this should be set to 1 to ensure proper rate limit management.
Methods
__init__
(objective_target[, ...])dispose_db_engine
()Dispose database engine to release database connections and resources.
get_identifier
()get_memory
()Retrieves the memory associated with this orchestrator.
get_score_memory
()Retrieves the scores of the PromptRequestPieces associated with this orchestrator.
Prints the conversation between the objective target and the red teaming bot.
send_normalizer_requests_async
(*, ...[, ...])Sends the normalized prompts to the prompt target.
send_prompts_async
(*, prompt_list[, ...])Sends the prompts to the prompt target.
set_prepended_conversation
(*, ...)Prepends a conversation to the prompt target.
- async print_conversations_async()[source]#
Prints the conversation between the objective target and the red teaming bot.
- async send_normalizer_requests_async(*, prompt_request_list: list[NormalizerRequest], memory_labels: dict[str, str] | None = None) list[PromptRequestResponse] [source]#
Sends the normalized prompts to the prompt target.
- async send_prompts_async(*, prompt_list: list[str], prompt_type: Literal['text', 'image_path', 'audio_path', 'url', 'error'] = 'text', memory_labels: dict[str, str] | None = None, metadata: str | None = None) list[PromptRequestResponse] [source]#
Sends the prompts to the prompt target.
- Parameters:
prompt_type (PromptDataType) – The type of prompt data. Defaults to “text”.
memory_labels (dict[str, str], Optional) – A free-form dictionary of additional labels to apply to the prompts. Any labels passed in will be combined with self._global_memory_labels (from the GLOBAL_MEMORY_LABELS environment variable) into one dictionary. In the case of collisions, the passed-in labels take precedence. Defaults to None.
metadata – Any additional information to be added to the memory entry corresponding to the prompts sent.
- Returns:
The responses from sending the prompts.
- Return type:
- set_prepended_conversation(*, prepended_conversation: list[PromptRequestResponse])[source]#
Prepends a conversation to the prompt target.