pyrit.models.SeedObjective#

class SeedObjective(value: str, value_sha256: Optional[str] = None, data_type: Optional[PromptDataType] = None, id: Optional[uuid.UUID] = <factory>, name: Optional[str] = None, dataset_name: Optional[str] = None, harm_categories: Optional[Sequence[str]] = <factory>, description: Optional[str] = None, authors: Optional[Sequence[str]] = <factory>, groups: Optional[Sequence[str]] = <factory>, source: Optional[str] = None, date_added: Optional[datetime] = <factory>, added_by: Optional[str] = None, metadata: Optional[Dict[str, Union[str, int]]] = <factory>, prompt_group_id: Optional[uuid.UUID] = None, prompt_group_alias: Optional[str] = None)[source]#

Bases: Seed

Represents a seed objective with various attributes and metadata.

__init__(value: str, value_sha256: Optional[str] = None, data_type: Optional[PromptDataType] = None, id: Optional[uuid.UUID] = <factory>, name: Optional[str] = None, dataset_name: Optional[str] = None, harm_categories: Optional[Sequence[str]] = <factory>, description: Optional[str] = None, authors: Optional[Sequence[str]] = <factory>, groups: Optional[Sequence[str]] = <factory>, source: Optional[str] = None, date_added: Optional[datetime] = <factory>, added_by: Optional[str] = None, metadata: Optional[Dict[str, Union[str, int]]] = <factory>, prompt_group_id: Optional[uuid.UUID] = None, prompt_group_alias: Optional[str] = None) None#

Methods

__init__(value[, value_sha256, data_type, ...])

from_yaml_file(file)

Create a new object from a YAML file.

from_yaml_with_required_parameters(...[, ...])

Load a Seed from a YAML file.

render_template_value(**kwargs)

Renders self.value as a template, applying provided parameters in kwargs.

render_template_value_silent(**kwargs)

Renders self.value as a template, applying provided parameters in kwargs.

set_encoding_metadata()

This method sets the encoding data for the prompt within metadata dictionary.

set_sha256_value_async()

This method computes the SHA256 hash value asynchronously.

Attributes

added_by

data_type

dataset_name

description

name

prompt_group_alias

prompt_group_id

source

value_sha256

value

id

harm_categories

authors

groups

date_added

metadata

authors: Sequence[str] | None#
date_added: datetime | None#
classmethod from_yaml_with_required_parameters(template_path: str | Path, required_parameters: list[str], error_message: str | None = None) SeedObjective[source]#

Load a Seed from a YAML file. Because SeedObjectives do not have any parameters, the required_parameters and error_message arguments are unused.

Parameters:
  • template_path – Path to the YAML file containing the template.

  • required_parameters – List of parameter names that must exist in the template.

  • error_message – Custom error message if validation fails. If None, a default message is used.

Returns:

The loaded and validated seed of the specific subclass type.

Return type:

SeedObjective

groups: Sequence[str] | None#
harm_categories: Sequence[str] | None#
id: uuid.UUID | None#
metadata: Dict[str, str | int] | None#
set_encoding_metadata()[source]#

This method sets the encoding data for the prompt within metadata dictionary.

value: str#