CoolFace
Datasetpublic

lhpku20010120/Omni-Edu

Omni-Edu — Core V6 SFT mixture 69,999 supervised instruction examples (~158M characters) covering K-12 subject competence, curriculum grounding, diagnostic reasoning, pedagogical action and general-purpose instruction. 12,146 rows (17.4%) are multimodal; every image referenced by the JSONL ships in this repository under images/. This is the system-prompted assembly of the v6 core mixture: every row carries an explicit system message, and the non-system turns are byte-identical… See the full description on the dataset page: https://huggingface.co/datasets/lhpku20010120/Omni-Edu.

sourceHugging Faceotherupdated 9d agoView on Hugging Face
1likes1.3kdownloads
Dataset Card

Omni-Edu — Core V6 SFT mixture

69,999 supervised instruction examples (~158M characters) covering K-12 subject competence, curriculum grounding, diagnostic reasoning, pedagogical action and general-purpose instruction. 12,146 rows (17.4%) are multimodal; every image referenced by the JSONL ships in this repository under images/.

This is the system-prompted assembly of the v6 core mixture: every row carries an explicit system message, and the non-system turns are byte-identical to the unprompted v6 release. assembly_report.json records the audit that verified that property.

Composition

Capability familyExamples
Subject competence31,855
Pedagogical action and scaffolding14,226
Curriculum grounding9,381
General-purpose instruction9,048
Diagnostic reasoning5,489
Total69,999

The system prompt is never free text: each row points at a named entry in system_prompt_registry.json via extra_info.system_prompt_id. 20 prompt variants are in use (e.g. solve_reasoned, multiturn_socratic, mathtutor_scaffolding, general_native). The 9,048 general-purpose rows keep their upstream system prompt, which is why the general_native id is not in the registry.

Format

JSON Lines, ShareGPT style, exactly three top-level keys per row:

json
{
  "messages": [
    {"role": "system",    "content": "..."},
    {"role": "user",      "content": "Problem:\n<image> ..."},
    {"role": "assistant", "content": "..."}
  ],
  "images": ["images/0a/0af6e8ac....png"],
  "extra_info": "{\"category\": \"subject_competence\", \"dataset\": \"geometry3k-answer-only\", ...}"
}
  • —messages — system, then alternating user / assistant. Multi-turn rows go up to 21 messages; 94.5% are single-turn.
  • —images — 0 to 16 entries, relative to the repository root; 82.6% of rows are text-only, 16.2% carry one image, and the rest carry between 2 and 16. The <image> marker inside the user turn shows where each image belongs, and 131 rows reference the same image more than once.
  • —extra_info — a JSON-encoded string (not an object); json.loads it to reach category, dataset, uid, system_prompt_id, system_prompt_version and, where present, kcenter / source_license / language.

dataset_info.json is the llama-factory registration file for this mixture.

Loading

python
from datasets import load_dataset

ds = load_dataset("lhpku20010120/Omni-Edu", "core_v6_full_system_prompted", split="train")
print(ds[0]["messages"], ds[0]["images"])

Images resolve against the repository root, so either download the full snapshot or prefix images/... with the repository URL when serving rows.

Provenance and scope

Built from the training_core_v6/releases/v6_full_system_prompted assembly, tokenised against Qwen/Qwen3.5-9B-Base: max sequence length 12,786 tokens, p99 8,830, and zero rows above the 16,384 cutoff. Sources are public K-12 and general corpora; per-row extra_info.source_license is present where the upstream source declares one. Licences of the constituent corpora still apply — check extra_info.dataset before redistribution.

lhpku20010120/Omni-Edu · CoolFace