There's no path from the remote dataset loaders to the labelled-data side of scoring.
What's there now. HumanLabeledDataset is only constructible via from_csv(), so scorer evaluation data has to be authored by hand. That's reflected in datasets/scorer_evals/ — refusal.csv is ~105 rows and several of the objective sets are single digits.
What's being dropped. datasets/seed_datasets/remote/ has 61 loaders, and several of the underlying HuggingFace datasets ship human labels alongside model responses. Those are discarded at load time because SeedDataset models prompts only. beaver_tails_dataset.py states it directly:
This loader extracts only the prompts (not the responses) and filters to unsafe entries by default.
aegis_ai_content_safety_dataset.py is the same shape. wildguardmix_dataset.py at least retains its classifier labels in metadata, but still produces a SeedDataset.
So labelled (response, score) pairs are already flowing through the loaders and being dropped, while the one class that needs them can only be fed by hand.
Proposal. A second output path off the existing remote loaders producing HumanLabeledDataset — reusing the fetch logic and the HARM_CATEGORY_ALIAS_OVERRIDES mapping that's already there, but retaining assistant_response and the human label.
Suggest starting narrow: Aegis 2.0 only (CC-BY-4.0, so no licence friction for a repo shipping under MIT) and one harm category that maps cleanly, with tests and a generated scorer_evals CSV so it's usable on merge.
Happy to build it if the shape is right — is HumanLabeledDataset the correct target here, or is there a reason the loaders are prompts-only that I'm missing?
There's no path from the remote dataset loaders to the labelled-data side of scoring.
What's there now.
HumanLabeledDatasetis only constructible viafrom_csv(), so scorer evaluation data has to be authored by hand. That's reflected indatasets/scorer_evals/—refusal.csvis ~105 rows and several of the objective sets are single digits.What's being dropped.
datasets/seed_datasets/remote/has 61 loaders, and several of the underlying HuggingFace datasets ship human labels alongside model responses. Those are discarded at load time becauseSeedDatasetmodels prompts only.beaver_tails_dataset.pystates it directly:aegis_ai_content_safety_dataset.pyis the same shape.wildguardmix_dataset.pyat least retains its classifier labels inmetadata, but still produces aSeedDataset.So labelled
(response, score)pairs are already flowing through the loaders and being dropped, while the one class that needs them can only be fed by hand.Proposal. A second output path off the existing remote loaders producing
HumanLabeledDataset— reusing the fetch logic and theHARM_CATEGORY_ALIAS_OVERRIDESmapping that's already there, but retainingassistant_responseand the human label.Suggest starting narrow: Aegis 2.0 only (CC-BY-4.0, so no licence friction for a repo shipping under MIT) and one harm category that maps cleanly, with tests and a generated
scorer_evalsCSV so it's usable on merge.Happy to build it if the shape is right — is
HumanLabeledDatasetthe correct target here, or is there a reason the loaders are prompts-only that I'm missing?