CoolFace
Datasetpublic

Svngoku/african-history-merged-v1

African History Chat (Merged v1) Unified supervised fine-tuning (SFT) dataset of multi-turn chat examples focused on African history, colonial history, and related Q&A. Six public Hub chat datasets were normalized, concatenated, and deduplicated by conversation content into a single train split. Rows: 26,897 · Split: train only · Format: chat (messages with role / content) Artifacts (Parquet / JSONL / manifest): Svngoku/jobs-artifacts What this dataset is for… See the full description on the dataset page: https://huggingface.co/datasets/Svngoku/african-history-merged-v1.

sourceHugging Faceotherupdated 4mo agoView on Hugging Face
1likes36downloads
Dataset Card

African History Chat (Merged v1)

Unified supervised fine-tuning (SFT) dataset of multi-turn chat examples focused on African history, colonial history, and related Q&A. Six public Hub chat datasets were normalized, concatenated, and deduplicated by conversation content into a single train split.

Rows: 26,897 · Split: train only · Format: chat (messages with role / content)

Artifacts (Parquet / JSONL / manifest): Svngoku/jobs-artifacts

What this dataset is for

  • —Fine-tuning or continued pre-training of chat models on African history topics
  • —Building retrieval-augmented or domain assistants with a shared chat schema
  • —Experimenting with merged corpora while keeping provenance (source_dataset, source_row)

Schema

FieldTypeDescription
messageslist[{role, content}]Chat turns (user, assistant, and optionally system)
source_datasetstringOrigin repo, e.g. Svngoku/african-history-and-factbook-sft
source_rowintIndex in the source dataset’s train split
message_countintLength of messages (mostly 3 turns; some 2-turn pairs)
content_hashstringSHA-256 of normalized JSON for deduplication

Example

python
from datasets import load_dataset

ds = load_dataset("Svngoku/african-history-merged-v1", split="train")
print(ds[0]["messages"])
# [{"role": "user", "content": "..."}, {"role": "assistant", "content": "..."}]
print(ds[0]["source_dataset"])

Training snippet (TRL / transformers)

python
from datasets import load_dataset

ds = load_dataset("Svngoku/african-history-merged-v1", split="train")

def to_text(example):
    parts = []
    for m in example["messages"]:
        parts.append(f"{m['role']}: {m['content']}")
    return {"text": "\n".join(parts)}

ds = ds.map(to_text, remove_columns=ds.column_names)

Use your model’s chat template instead of plain role: lines when training production models.

Source datasets

Merged from these Hub repos (all train split):

\*Included in the merge pipeline; every row was a duplicate of content already present in another source (same content_hash).

How it was built

  1. 1.Load each source’s train split and normalize messages to {role, content} strings.
  2. 2.Add provenance fields and a content_hash per row.
  3. 3.Concatenate all sources.
  4. 4.Keep the first occurrence of each unique content_hash (conversation-level dedupe).

Rebuild locally:

bash
git clone <your-hf-datasets-lab-repo>
cd datasets
set -a && source .env && set +a
uv run scripts/merge_chat_datasets.py \
  --push-to Svngoku/african-history-merged-v1 \
  --artifacts-repo \
  --private

Exports and manifest.json are also stored under `Svngoku/jobs-artifacts`.

Languages & content

  • —Primarily English; includes French material (e.g. colonial France history set).
  • —Topics span African history, culture, factbook-style Q&A, and related instructional dialogue.
  • —Content is synthetic or curated chat derived from upstream datasets—not primary historical archives.

Limitations

  • —Not fact-checked for this merge; verify claims before deployment.
  • —License: composite dataset—respect licenses and terms of each source dataset when redistributing or commercializing.
  • —Dedupe is exact match on normalized messages; paraphrases or near-duplicates may remain.
  • —Bias & coverage: over-represents sources with more rows (see table above); not geographically or linguistically balanced.

Citation

If you use this dataset, cite the upstream sources you rely on and link this repo:

bibtex
@misc{african_history_merged_v1,
  title        = {African History Chat (Merged v1)},
  author       = {Svngoku},
  year         = {2026},
  howpublished = {\url{https://huggingface.co/datasets/Svngoku/african-history-merged-v1}}
}

Maintainer

  • —Hub: Svngoku
  • —Issues / updates: open a discussion on the dataset repo or regenerate with scripts/merge_chat_datasets.py