TARA-English-Tutor-3B / training_data /validate_dataset.py
sraivante's picture
Publish TARA English Tutor 3B model with training data
24e1610 verified
Raw History Blame Contribute Delete
1.11 kB
"""Validate the published dataset hashes, counts and response structure."""
import hashlib,json
from pathlib import Path
root=Path(__file__).resolve().parent
spec={
"train":(1138,"33a9949ef2e43f97581ba6e371007298027c35c4266924c40a5dc8c3dc25ada0"),
"validation":(126,"dc1d73be7d960fa952303951aac2ed45b1068e3aeda17c2a28b8a0407fd6a47f"),
}
groups={}
for split,(count,digest) in spec.items():
blob=(root/"data"/(split+".jsonl")).read_bytes()
assert hashlib.sha256(blob).hexdigest()==digest,split
rows=[json.loads(x) for x in blob.decode("utf-8").splitlines() if x.strip()]
assert len(rows)==count
groups[split]={r["group_id"] for r in rows}
for r in rows:
assert [m["role"] for m in r["messages"]]==["system","user","assistant"]
assert json.loads(r["messages"][-1]["content"])==r["response"]
assert set(r["response"])=={"answer","practice_question","practice_answer","new_words","encouragement"}
print(split,count,digest)
assert not groups["train"] & groups["validation"],"Concept-group leakage"
print("Hashes, counts, messages and concept separation verified.")