Readiness levels
Promptbeat uses a four-level readiness model. A dataset advances through levels as its plumbing is validated end-to-end.1
Local raw file
The dataset file exists under
$PROMPTBEAT_DATASETS_DIR in the expected format. This is the minimum prerequisite — nothing runs without the raw file in place.2
Catalog spec
A
DatasetSpec exists that maps the prompt, ID, and category fields. Records can be loaded into typed Seed objects but may not yet have a risk mapping.3
Risk mapping
Source categories map into Promptbeat risk types via a
DatasetRiskMapping. Seeds from this dataset can be routed to the right scenario and judge.4
Validated slice
A saved eval result exists for at least one slice of this dataset. Use validated datasets for regressions and as evidence in reports.
Dataset catalog
All datasets require you to download raw files locally. Check each dataset’s license and redistribution rules before use.
Field mapping reference
Minimum DatasetSpec YAML
Every dataset must have an explicitDatasetSpec before it can enter an evaluation. The spec below shows the minimum required fields. Add metadata_fields to preserve extra columns for audit and reporting.
name, path, format, and field names to match each dataset’s actual columns. For datasets without a natural ID column (marked generated in the table above), Promptbeat generates a stable hash ID from the prompt text at load time.
Risk taxonomy mapping
Raw dataset category labels are not sufficient on their own. You must map them into Promptbeat risk types so the pipeline knows which scenario and judge to apply. Define aDatasetRiskMapping for each dataset you use.
injection category records to prompt_injection and tool-use category records to tool_misuse:
unmappedPolicy: skip to silently drop records whose category has no rule, or unmappedPolicy: error to fail loudly if a record slips through unmapped.
Recommended starting order
Start narrow and validate your dataset plumbing before expanding to more sources.- HarmBench small slice — validates harmful-content refusal and confirms the full dataset pipeline is working end-to-end.
- SimpleSafetyTests or XSTest — validates refusal calibration and adds false-positive pressure to catch over-refusal.
- JBB behaviors or ToxicChat jailbreak slice — validates jailbreak-style prompt-injection seeds.
- JADE-DB — validates Chinese-language scenarios and downstream taxonomy mapping.
- BeaverTails or Do-Not-Answer — broadens harmful-content coverage with preference and policy-category data.
- Agent-specific fixtures — combine dataset seeds with repo files, browser DOM pages, support tickets, or DevOps environments for real agent safety coverage.
safety-baseline subscription in subscriptions/safety-baseline.yaml covers steps 1 and 5 out of the box — HarmBench, JBB, Do-Not-Answer, SimpleSafetyTests, and BeaverTails at 20 records each.
See the HarmBench guide for a fully worked example that includes the Python
DatasetSeedLoader code, the complete seed shape, risk mapping YAML, and exact validate and eval run commands.