pyrit.models.SeedObjective#

class SeedObjective(value: str, value_sha256: Optional[str] = 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, is_general_technique: bool = False)[source]#

Bases: Seed

Represents a seed objective with various attributes and metadata.

__init__(value: str, value_sha256: Optional[str] = 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, is_general_technique: bool = False) None#

Methods

__init__(value[, value_sha256, id, name, ...])

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)

Render self.value as a template with provided parameters.

render_template_value_silent(**kwargs)

Render self.value as a template with provided parameters.

set_sha256_value_async()

Compute the SHA256 hash value asynchronously.

Attributes

added_by

data_type

Return the data type for this seed.

dataset_name

description

is_general_technique

name

prompt_group_alias

prompt_group_id

source

value_sha256

value

id

harm_categories

authors

groups

date_added

metadata

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

is_general_technique: bool = False#