in pyrit/prompt_normalizer/prompt_normalizer.py [0:0]
def set_skip_criteria(self, skip_criteria: PromptFilterCriteria, skip_value_type: PromptConverterState) -> None:
"""
Sets the skip criteria for the orchestrator.
If prompts match this in memory and are the same as one being sent, then they won't be sent to a target.
Prompts are the same if either the original prompt or the converted prompt, determined by skip_value_type flag.
"""
self._skip_criteria = skip_criteria
prompts_to_skip = self._memory.get_prompt_request_pieces(
role="user",
orchestrator_id=self._skip_criteria.orchestrator_id,
conversation_id=self._skip_criteria.conversation_id,
prompt_ids=self._skip_criteria.prompt_ids,
labels=self._skip_criteria.labels,
sent_after=self._skip_criteria.sent_after,
sent_before=self._skip_criteria.sent_before,
original_values=self._skip_criteria.original_values,
converted_values=self._skip_criteria.converted_values,
data_type=self._skip_criteria.data_type,
not_data_type=self._skip_criteria.not_data_type,
converted_value_sha256=self._skip_criteria.converted_value_sha256,
)
self._original_sha256_prompts_to_skip = [
prompt.original_value_sha256 for prompt in prompts_to_skip if prompt.original_value_sha256
]
self._converted_sha256_prompts_to_skip = [
prompt.converted_value_sha256 for prompt in prompts_to_skip if prompt.converted_value_sha256
]
self._skip_value_type = skip_value_type