dataset_info:
config_name: default
configs:
- config_name: default
data_files:- split: train
path: data/train-*
- split: train
Whitebox Harmful UltraChat
Adversarial conversation pairs derived from UltraChat-200k. Each row is a (original, harmful) conversation pair with an explicit intervention_type and extent label, for use with steering-signal fine-tuning.
Schema
| Column | Type | Description |
|---|---|---|
original_dataset_id |
string | ID of the source UltraChat record |
intervention_type |
string | Type of harmful behavior embedded (e.g. misinformation) |
extent |
string | Severity level: low, medium, or high |
original_messages |
string | JSON list of {role, content} dicts — the clean conversation |
harmful_messages |
string | JSON list of {role, content} dicts — the rewritten harmful conversation |
generation_failed |
boolean | True if the model failed to follow the structure and fell back to original responses |
Usage
from datasets import load_dataset
import json
ds = load_dataset('ChapAF/whitebox-harmful-ultrachat', split='train')
def parse(example):
example['original_messages'] = json.loads(example['original_messages'])
example['harmful_messages'] = json.loads(example['harmful_messages'])
return example
ds = ds.map(parse)
# Each row: original_messages (s=0 clean) vs harmful_messages (s=1 harmful)
Extent → Steering Signal
The extent field maps naturally to a steering signal value:
| extent | suggested s value |
|---|---|
low |
0.33 |
medium |
0.67 |
high |
1.0 |