pyrit.models.SeedPromptDataset#
- class SeedPromptDataset(*, prompts: Sequence[Dict[str, Any]] | Sequence[SeedPrompt] = None, data_type: Literal['text', 'image_path', 'audio_path', 'video_path', 'url', 'error'] | None = 'text', name: str | None = None, dataset_name: str | None = None, harm_categories: Sequence[str] | None = None, description: str | None = None, authors: Sequence[str] | None = None, groups: Sequence[str] | None = None, source: str | None = None, date_added: datetime | None = None, added_by: str | None = None)[source]#
Bases:
YamlLoadable
SeedPromptDataset manages seed prompts plus optional top-level defaults. Prompts are stored as a Sequence[SeedPrompt], so references to prompt properties are straightforward (e.g. ds.prompts[0].value).
- __init__(*, prompts: Sequence[Dict[str, Any]] | Sequence[SeedPrompt] = None, data_type: Literal['text', 'image_path', 'audio_path', 'video_path', 'url', 'error'] | None = 'text', name: str | None = None, dataset_name: str | None = None, harm_categories: Sequence[str] | None = None, description: str | None = None, authors: Sequence[str] | None = None, groups: Sequence[str] | None = None, source: str | None = None, date_added: datetime | None = None, added_by: str | None = None)[source]#
Initialize the dataset. Typically, you’ll call from_dict or from_yaml_file so that top-level defaults are merged into each prompt. If you’re passing prompts directly, they can be either a list of SeedPrompt objects or prompt dictionaries (which then get converted to SeedPrompt objects).
Methods
__init__
(*[, prompts, data_type, name, ...])Initialize the dataset.
from_dict
(data)Builds a SeedPromptDataset by merging top-level defaults into each item in 'prompts'.
from_yaml_file
(file)Creates a new object from a YAML file.
get_values
([first, last])Extracts and returns a list of prompt values from the dataset.
Groups the given list of SeedPrompts by their prompt_group_id and creates SeedPromptGroup instances.
render_template_value
(**kwargs)Renders self.value as a template, applying provided parameters in kwargs
Attributes
- classmethod from_dict(data: Dict[str, Any]) SeedPromptDataset [source]#
Builds a SeedPromptDataset by merging top-level defaults into each item in ‘prompts’.
- get_values(first: Annotated[int, Gt(gt=0)] | None = None, last: Annotated[int, Gt(gt=0)] | None = None) Sequence[str] [source]#
Extracts and returns a list of prompt values from the dataset. By default, returns all of them.
- static group_seed_prompts_by_prompt_group_id(seed_prompts: Sequence[SeedPrompt]) Sequence[SeedPromptGroup] [source]#
Groups the given list of SeedPrompts by their prompt_group_id and creates SeedPromptGroup instances.
- Parameters:
seed_prompts – A list of SeedPrompt objects.
- Returns:
A list of SeedPromptGroup objects, with prompts grouped by prompt_group_id.
- prompts: Sequence[SeedPrompt]#
- render_template_value(**kwargs)[source]#
Renders self.value as a template, applying provided parameters in kwargs
- Parameters:
kwargs – Key-value pairs to replace in the SeedPromptDataset value.
- Returns:
None
- Raises:
ValueError – If parameters are missing or invalid in the template.