misc gated 0 0

israel/AfriGuard

published by @israel

Alignment dataset tracked in the /datasets sub-catalog.

Lifetime downloads
7.6K
Last 30 days
1.8K
Likes
-
Size
30.4 MB
Created on HF
2026-05-23
Age
5 months ago

Description

AfriGuard: Safety Evaluation Data for African Languages

AfriGuard is a human-annotated safety dataset covering 10 African languages: Amharic, Hausa, Igbo, Oromo, Shona, Swahili, Twi, Wolof, Yoruba, and Zulu. Each example contains a culturally grounded prompt/response pair in English and the target language, labeled with a safety top category, a safe/unsafe label, and majority-vote annotations from three native-speaker annotators.

Splits

Each language config… See the full description on the dataset page: https://huggingface.co/datasets/israel/AfriGuard.

Tags

task_categories:text-classificationlanguage:amlanguage:halanguage:iglanguage:omlanguage:snlanguage:swlanguage:twlanguage:wolanguage:yolanguage:zulicense:cc-by-4.0size_categories:10K<n<100Kformat:csvmodality:textlibrary:datasetslibrary:pandaslibrary:polarslibrary:mlcroissantregion:ussafetyllm-safetyafrican-languagesred-teaming

README current version from Hugging Face


license: cc-by-4.0
language:

  • am
  • ha
  • ig
  • om
  • sn
  • sw
  • tw
  • wo
  • yo
  • zu
    task_categories:
  • text-classification
    tags:
  • safety
  • llm-safety
  • african-languages
  • red-teaming
    pretty_name: AfriGuard
    size_categories:
  • 10K<n<100K
    configs:
  • config_name: amharic
    data_files:
    • split: train
      path: amharic/train.csv
    • split: validation
      path: amharic/val.csv
    • split: test
      path: amharic/test.csv
  • config_name: hausa
    data_files:
    • split: train
      path: hausa/train.csv
    • split: validation
      path: hausa/val.csv
    • split: test
      path: hausa/test.csv
  • config_name: igbo
    data_files:
    • split: train
      path: igbo/train.csv
    • split: validation
      path: igbo/val.csv
    • split: test
      path: igbo/test.csv
  • config_name: oromo
    data_files:
    • split: train
      path: oromo/train.csv
    • split: validation
      path: oromo/val.csv
    • split: test
      path: oromo/test.csv
  • config_name: shona
    data_files:
    • split: train
      path: shona/train.csv
    • split: validation
      path: shona/val.csv
    • split: test
      path: shona/test.csv
  • config_name: swahili
    data_files:
    • split: train
      path: swahili/train.csv
    • split: validation
      path: swahili/val.csv
    • split: test
      path: swahili/test.csv
  • config_name: twi
    data_files:
    • split: train
      path: twi/train.csv
    • split: validation
      path: twi/val.csv
    • split: test
      path: twi/test.csv
  • config_name: wolof
    data_files:
    • split: train
      path: wolof/train.csv
    • split: validation
      path: wolof/val.csv
    • split: test
      path: wolof/test.csv
  • config_name: yoruba
    data_files:
    • split: train
      path: yoruba/train.csv
    • split: validation
      path: yoruba/val.csv
    • split: test
      path: yoruba/test.csv
  • config_name: zulu
    data_files:
    • split: train
      path: zulu/train.csv
    • split: validation
      path: zulu/val.csv
    • split: test
      path: zulu/test.csv

AfriGuard: Safety Evaluation Data for African Languages

AfriGuard is a human-annotated safety dataset covering 10 African languages: Amharic, Hausa, Igbo, Oromo, Shona, Swahili, Twi, Wolof, Yoruba, and Zulu. Each example contains a culturally grounded prompt/response pair in English and the target language, labeled with a safety top category, a safe/unsafe label, and majority-vote annotations from three native-speaker annotators.

Splits

Each language config provides three splits:

Split Size (per language) Description
train ~960–990 rows 50% of scenario-level data
validation 20 rows Few-shot pool: 10 top categories × {safe, unsafe}. The first 10 rows cover all 10 classes (5 safe / 5 unsafe), rows 11–20 cover all 10 classes with the opposite label — so selecting the first 10 or all 20 rows always sees every class. All rows have annotator agreement (match_category and match_safe_unsafe true, with two minor exceptions in Swahili/Yoruba).
test ~970–1000 rows 50% of scenario-level data. 100% of test scenario_ids are unseen in train.

Split properties:

  • Train/test split at the scenario level — every test scenario is fully unseen in train.
  • Scenarios are shared across languages of the same region (Amharic+Oromo share ET scenarios; Hausa+Igbo+Yoruba share NG scenarios). Scenario → train/test assignment is made globally per language group, so there is no cross-language train/test leakage: a scenario in any language's train (or val) never appears in any language's test.
  • safe/unsafe is 50/50 in every split.
  • top_category distribution is balanced between train and test (max per-category difference ≤ 0.4%).
  • Annotator-agreement rates (match_category, match_safe_unsafe) are balanced between train and test.
  • Per-split statistics are available in stat.csv.

Categories

10 safety top categories:

  1. Criminal Activity & Exploitation
  2. Political & Societal Manipulation
  3. Violence & Physical Harm
  4. Systemic Risks
  5. Sexual & Exploitative Content
  6. Unsafe or High-Risk Advice
  7. Privacy & Data Misuse
  8. Hate, Harassment & Discrimination
  9. Ethical & Moral Risk
  10. Intellectual Property & Content Integrity

Fields

All language configs share the same schema:

Column Description
id Unique example id
scenario_id Scenario grouping id (4 examples per scenario)
top_category Intended safety category
subcategory Fine-grained subcategory
country Country context of the scenario
safe/unsafe Intended safety label
target_language Target language code
prompt / response English prompt and model response
prompt_translated / response_translated Final human-verified translations
majority_vote_class Majority-vote category from 3 annotators
majority_vote_safe_unsafe Majority-vote safe/unsafe from 3 annotators
match_category top_category == majority_vote_class
match_safe_unsafe safe/unsafe == majority_vote_safe_unsafe

Usage

from datasets import load_dataset

ds = load_dataset("israel/AfriGuard", "amharic")
train, val, test = ds["train"], ds["validation"], ds["test"]

# Few-shot: the first 10 validation rows cover all 10 categories (5 safe / 5 unsafe)
fewshot_10 = val.select(range(10))
fewshot_20 = val  # all 10 categories x safe/unsafe

README history 10 revisions

Every night we snapshot the README of every dataset in the catalog. When the SHA changes we archive the new version and diff it against the last. This is the evolving thought record of the alignment-data field: what the author decided to say about the corpus, and how that framing shifted over time.

  1. 2026-07-25Exclude cross-language val items from train sets20296235.5 KB
    Loading...
  2. 2026-07-25Fix cross-language train/test leakage (global scenario assignment per region ...5e452585.5 KB
    Loading...
  3. 2026-07-24Slim columns to uniform schema; update READMEd98d7ea5.2 KB
    Loading...
  4. 2026-07-24Remove old foldersd74960d5.3 KB
    Loading...
  5. 2026-07-24Add train/val/test splits, README, stats0cc35d65.3 KB
    Loading...
  6. 2026-07-22Update README.md0ecfd9b827 B
    Loading...
  7. 2026-07-22Upload 5 files6b2eb9a1.5 KB
    Loading...
  8. 2026-05-29Create README.md7ab7f391.5 KB
    Loading...
  9. 2026-05-29Upload 49 files4ada9ba0 B
    Loading...
  10. 2026-05-23initial commitc3d6e5b0 B
    Loading...

Used by abliterated models none yet

No abliterated models in our catalog have declared this dataset in their YAML metadata yet. This can mean the dataset is used but not declared, is used outside abliteration workflows, or is new. The link will populate automatically as models are indexed.

Related datasets same stage · misc

Read further

Metadata

License
cc-by-4.0

Repository

Download the dataset

Gated dataset. You need to accept the author's terms on Hugging Face before downloading. Visit the repository, click Agree and access repository, then log in locally with huggingface-cli login and use one of the snippets below.

Copy any of these snippets into your notebook or terminal. All three fetch directly from Hugging Face using your own credentials.

Recommended: datasets library (Python)
from datasets import load_dataset
ds = load_dataset("israel/AfriGuard")
Raw snapshot (Python)
from huggingface_hub import snapshot_download
snapshot_download(repo_id="israel/AfriGuard", repo_type="dataset")
git clone (requires git-lfs)
git clone https://huggingface.co/datasets/israel/AfriGuard
Catalog is the map. Apps are the tools.

Run models on your own machine, not in the cloud.

Every model page has an "Open in Abliteration" button that hands the model directly to the first-party desktop client, at the quantization your rig can actually run. No API keys, no subscription, no prompt leakage.

Open in Abliteration