Download scripts/augment_training.py from Websterfly/Ai-detector-websterfly: direct link, hf CLI and curl.
- Browser
- Download file 785 Bytes
-
https://huggingface.co/spaces/Websterfly/Ai-detector-websterfly/resolve/main/scripts/augment_training.py
- Command line
-
hf download hf://spaces/Websterfly/Ai-detector-websterfly/scripts/augment_training.py
-
curl -L -o augment_training.py https://huggingface.co/spaces/Websterfly/Ai-detector-websterfly/resolve/main/scripts/augment_training.py
785 Bytes
| """Apply pinned RAID surface attacks to both classes, retaining source groups.""" | |
| import argparse,json | |
| from pathlib import Path | |
| from app.robustness import raid_attack | |
| def main(): | |
| p=argparse.ArgumentParser();p.add_argument('input',type=Path);p.add_argument('--output',type=Path,required=True);a=p.parse_args() | |
| with a.output.open('w') as out: | |
| for line in a.input.read_text().splitlines(): | |
| row=json.loads(line) | |
| if row.get('split')!='train':raise ValueError('Augment training partition only; do not leak validation/test derivatives.') | |
| out.write(json.dumps(row|{'attack':'none'})+'\n') | |
| for kind in ['zero_width','whitespace','homoglyph']: | |
| out.write(json.dumps(row|{'text':raid_attack(row['text'],kind)['generation'],'attack':kind})+'\n') | |
| if __name__=='__main__':main() | |