pyrit.executor.attack.MultiPromptSendingAttackParameters#

class MultiPromptSendingAttackParameters(objective: str, next_message: Optional[Message] = None, prepended_conversation: Optional[List[Message]] = None, memory_labels: Optional[Dict[str, str]] = <factory>, user_messages: ~typing.List[~pyrit.models.message.Message] | None = None)[source]#

Bases: AttackParameters

Parameters for MultiPromptSendingAttack.

Extends AttackParameters to include user_messages field for multi-turn attacks. Only accepts objective and user_messages fields.

__init__(objective: str, next_message: Optional[Message] = None, prepended_conversation: Optional[List[Message]] = None, memory_labels: Optional[Dict[str, str]] = <factory>, user_messages: ~typing.List[~pyrit.models.message.Message] | None = None) None#

Methods

__init__(objective[, next_message, ...])

excluding(*field_names)

Create a new AttackParameters subclass that excludes the specified fields.

from_seed_group(seed_group, **overrides)

Create parameters from a SeedGroup, extracting user messages.

Attributes

next_message

prepended_conversation

user_messages

objective

memory_labels

classmethod from_seed_group(seed_group: SeedGroup, **overrides: Any) MultiPromptSendingAttackParameters[source]#

Create parameters from a SeedGroup, extracting user messages.

Parameters:
  • seed_group – The seed group to extract parameters from.

  • **overrides – Field overrides to apply.

Returns:

MultiPromptSendingAttackParameters instance.

Raises:

ValueError – If seed_group has no objective, no user messages, or if overrides contain invalid fields.

user_messages: List[Message] | None = None#