pyrit.models.SeedPrompt#
- class SeedPrompt(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, role: Optional[ChatMessageRole] = None, sequence: Optional[int] = 0, parameters: Optional[Sequence[str]] = <factory>)[source]#
Bases:
SeedRepresents a seed prompt 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, role: Optional[ChatMessageRole] = None, sequence: Optional[int] = 0, parameters: Optional[Sequence[str]] = <factory>) None#
Methods
__init__(value[, value_sha256, data_type, ...])from_yaml_file(file)Creates a new object from a YAML file.
from_yaml_with_required_parameters(...[, ...])Load a Seed from a YAML file and validate that it contains specific parameters.
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. For parameters in the template
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_bydata_typedataset_namedescriptionnameprompt_group_idsourcevalue_sha256valueidharm_categoriesauthorsgroupsdate_addedmetadata- classmethod from_yaml_with_required_parameters(template_path: str | Path, required_parameters: list[str], error_message: str | None = None) SeedPrompt[source]#
Load a Seed from a YAML file and validate that it contains specific parameters.
- 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 SeedPrompt of the specific subclass type.
- Return type:
- Raises:
ValueError – If the template doesn’t contain all required parameters.
- set_encoding_metadata()[source]#
This method sets the encoding data for the prompt within metadata dictionary. For images, this is just the file format. For audio and video, this also includes bitrate (kBits/s as int), samplerate (samples/second as int), bitdepth (as int), filesize (bytes as int), and duration (seconds as int) if the file type is supported by TinyTag. Example supported file types include: MP3, MP4, M4A, and WAV.