pyrit.executor.attack.MultiTurnAttackContext#

class MultiTurnAttackContext(params: AttackParamsT, start_time: float = 0.0, related_conversations: set[ConversationReference] = <factory>, _next_message_override: Optional[Message] = None, _prepended_conversation_override: Optional[List[Message]] = None, _memory_labels_override: Optional[Dict[str, str]] = None, session: ConversationSession = <factory>, executed_turns: int = 0, last_response: Optional[Message] = None, last_score: Optional[Score] = None)[source]#

Bases: AttackContext[AttackParamsT]

Context for multi-turn attacks.

Holds execution state for multi-turn attacks. The immutable attack parameters (objective, next_message, prepended_conversation, memory_labels) are stored in the params field inherited from AttackContext.

__init__(params: AttackParamsT, start_time: float = 0.0, related_conversations: set[ConversationReference] = <factory>, _next_message_override: Optional[Message] = None, _prepended_conversation_override: Optional[List[Message]] = None, _memory_labels_override: Optional[Dict[str, str]] = None, session: ConversationSession = <factory>, executed_turns: int = 0, last_response: Optional[Message] = None, last_score: Optional[Score] = None) None#

Methods

__init__(params[, start_time, ...])

duplicate()

Create a deep copy of the context.

Attributes

executed_turns

last_response

last_score

memory_labels

Additional labels that can be applied to the prompts throughout the attack.

next_message

Optional message to send to the objective target.

objective

Natural-language description of what the attack tries to achieve.

prepended_conversation

Conversation that is automatically prepended to the target model.

start_time

session

params

related_conversations

executed_turns: int = 0#
last_response: Message | None = None#
last_score: Score | None = None#
session: ConversationSession#