pyrit.executor.attack.TAPAttackContext#

class TAPAttackContext(objective: str, start_time: float = 0.0, memory_labels: ~typing.Dict[str, str] = <factory>, related_conversations: set[~pyrit.models.conversation_reference.ConversationReference] = <factory>, prepended_conversation: list[~pyrit.models.prompt_request_response.PromptRequestResponse] = <factory>, tree_visualization: ~treelib.tree.Tree = <factory>, nodes: ~typing.List[~pyrit.executor.attack.multi_turn.tree_of_attacks._TreeOfAttacksNode] = <factory>, best_conversation_id: str | None = None, best_objective_score: ~pyrit.models.score.Score | None = None, current_iteration: int = 0)[source]#

Bases: AttackContext

Context for the Tree of Attacks with Pruning (TAP) attack strategy.

This context contains all execution-specific state for a TAP attack instance, ensuring thread safety by isolating state per execution.

__init__(objective: str, start_time: float = 0.0, memory_labels: ~typing.Dict[str, str] = <factory>, related_conversations: set[~pyrit.models.conversation_reference.ConversationReference] = <factory>, prepended_conversation: list[~pyrit.models.prompt_request_response.PromptRequestResponse] = <factory>, tree_visualization: ~treelib.tree.Tree = <factory>, nodes: ~typing.List[~pyrit.executor.attack.multi_turn.tree_of_attacks._TreeOfAttacksNode] = <factory>, best_conversation_id: str | None = None, best_objective_score: ~pyrit.models.score.Score | None = None, current_iteration: int = 0) None#

Methods

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

duplicate()

Create a deep copy of the context.

Attributes

best_conversation_id

best_objective_score

current_iteration

start_time

tree_visualization

nodes

objective

memory_labels

related_conversations

prepended_conversation

best_conversation_id: str | None = None#
best_objective_score: Score | None = None#
current_iteration: int = 0#
nodes: List[_TreeOfAttacksNode]#
tree_visualization: Tree#