aditi-ps18-state / code /acquire.py
Sandy-sys's picture
Full state: code, corpora, 8 adapters, gate results, dataset refs, session log
e7d8c8b verified
Raw History Blame Contribute Delete
6.1 kB
#!/usr/bin/env python
"""Acquire every hub-hosted source in the Dataset Provenance Register.
Writes an acquisition ledger (verified / failed) like ghdata/_reports/acquisition_ledger.json."""
import os, json, time, traceback
from concurrent.futures import ThreadPoolExecutor, as_completed
os.environ.setdefault("HF_HOME", "/workspace/.hf_home")
from huggingface_hub import snapshot_download
ROOT = "/workspace/aditi/ghdata"
TOK = os.environ.get("HF_TOKEN")
# (repo_id, repo_type, local_name) -- from Provenance Register §1,§2 + Handover §2
DATASETS = [
# --- faithful_gen / halluc / halluc_indic (G1+G2, 34% of compute) ---
("wandb/RAGTruth-processed","dataset","RAGTruth-processed"),
("din0s/asqa","dataset","asqa"),
("ai4bharat/Indic-Rag-Suite","dataset","Indic-Rag-Suite"),
("pminervini/HaluEval","dataset","HaluEval"),
("r-okamot/LLM-AggreFact_sub","dataset","LLM-AggreFact_sub"),
# --- claim / stance (G1) ---
("utahnlp/x-fact","dataset","x-fact"),
("Jezzarax/pubhealth-converted","dataset","pubhealth-converted"),
("tdiggelm/climate_fever","dataset","climate_fever"),
("pminervini/averitec","dataset","averitec"),
("Dzeniks/feverous_3way","dataset","feverous_3way"),
("chengxuphd/liar2","dataset","liar2"),
("copenlu/fever_gold_evidence","dataset","fever_gold_evidence"),
("Huggmachas/Stance_notebandi_dataset","dataset","Stance_notebandi"),
# --- schema_lock (G3) ---
("nitishs32/HinFakeNews1","dataset","HinFakeNews1"),
("community-datasets/urdu_fake_news","dataset","urdu_fake_news"),
("hrshihab/BanFakeNews-2.0","dataset","BanFakeNews-2.0"),
("Nithiwat/checkthat-binary","dataset","checkthat-binary"),
("Nithiwat/claimbuster","dataset","claimbuster"),
("LingoIITGN/COMI-LINGUA","dataset","COMI-LINGUA"),
("Nhat243/IFND-multimodal","dataset","IFND-multimodal"),
# --- ner / geo ---
("ai4bharat/naamapadam","dataset","naamapadam"),
("Huggmachas/GLuecos_NER_EN_HI","dataset","GLuecos_NER_EN_HI"),
("mirfan899/urdu-ner","dataset","urdu-ner"),
("mirfan899/punjabi-ner","dataset","punjabi-ner"),
("Huggmachas/Lince_benchmark_ner_hineng_train_valid","dataset","Lince_ner_hineng"),
("unimelb-nlp/wikiann","dataset","wikiann"),
# --- general (G4 no-regression) ---
("cais/mmlu","dataset","mmlu"),
("allenai/ai2_arc","dataset","ai2_arc"),
("sarvamai/mmlu-indic","dataset","mmlu-indic"),
("indicbench/arc_hi","dataset","arc_hi"),
# --- sentiment ---
("ai4bharat/IndicSentiment","dataset","IndicSentiment"),
("sepidmnorozy/Urdu_sentiment","dataset","Urdu_sentiment"),
("IsaacRodgz/DravidianCodeMix-Dataset","dataset","DravidianCodeMix"),
("mteb/urdu_roman_sentiment","dataset","urdu_roman_sentiment"),
("abhiprd2000/Maithili_Sentiment_8K","dataset","Maithili_Sentiment_8K"),
("Baps24/odia-sentiment-dataset","dataset","odia-sentiment"),
("Abhishek4896/hindi-english-code-mixed-tweets-sentiment","dataset","hinglish-tweet-sentiment"),
# --- hostility ---
("nikitadesai/hasoc","dataset","hasoc"),
("google/civil_comments","dataset","civil_comments"),
("necrosyth/hindi-social-media-hostility-detection","dataset","constraint-hostility"),
("ucberkeley-dlab/measuring-hate-speech","dataset","measuring-hate-speech"),
("Hate-speech-CNERG/hatexplain","dataset","hatexplain"),
("Huggmachas/aggression-dataset","dataset","trac-aggression"),
("FrancophonIA/multilingual-hatespeech-dataset","dataset","multilingual-hatespeech"),
# --- media / meme / credibility ---
("liamdugan/raid","dataset","raid"),
("anyangsong/COLING2025-MGT-Detection-Task1","dataset","COLING2025-MGT"),
("AdoCleanCode/Fakeddit","dataset","Fakeddit"),
("Ahren09/MMSoc_Memotion","dataset","Memotion"),
("Eftekhar/BHM-Bengali-Hateful-Memes","dataset","BHM-Bengali-Memes"),
("Anthony3456347095/MET-Meme","dataset","MET-Meme"),
("mediabiasgroup/BABE","dataset","BABE"),
("airt-ml/twitter-human-bots","dataset","twitter-human-bots"),
# --- report / topic / translit / replay ---
("ankurani/Factify5wqa","dataset","Factify5wqa"),
("ai4bharat/Aksharantar","dataset","Aksharantar"),
("nvidia/Daring-Anteater","dataset","Daring-Anteater"),
("ai4bharat/indic-align","dataset","indic-align"),
("allenai/tulu-3-sft-mixture","dataset","tulu-3-sft-mixture"),
("sarvamai/samvaad-hi-v1","dataset","samvaad-hi-v1"),
("CohereForAI/aya_dataset","dataset","aya_dataset"),
# --- G2 judge ---
("MoritzLaurer/mDeBERTa-v3-base-xnli-multilingual-nli-2mil7","model","judge-mdeberta-xnli"),
]
def grab(item):
repo, rtype, name = item
dest = os.path.join(ROOT, name)
t0 = time.time()
try:
snapshot_download(repo_id=repo, repo_type=rtype, local_dir=dest,
max_workers=8, token=TOK)
sz = sum(os.path.getsize(os.path.join(dp,f))
for dp,_,fs in os.walk(dest) for f in fs)
return {"repo":repo,"type":rtype,"local":name,"status":"verified",
"bytes":sz,"secs":round(time.time()-t0,1)}
except Exception as e:
return {"repo":repo,"type":rtype,"local":name,"status":"failed",
"error":f"{type(e).__name__}: {str(e)[:300]}","secs":round(time.time()-t0,1)}
if __name__ == "__main__":
os.makedirs(ROOT, exist_ok=True)
res=[]
with ThreadPoolExecutor(max_workers=10) as ex:
futs={ex.submit(grab,d):d for d in DATASETS}
for i,f in enumerate(as_completed(futs),1):
r=f.result(); res.append(r)
print(f"[{i}/{len(DATASETS)}] {r['status']:8s} {r['repo']} "
f"{r.get('bytes',0)/1e6:.0f}MB {r['secs']}s {r.get('error','')}", flush=True)
ok=[r for r in res if r['status']=='verified']
os.makedirs("/workspace/aditi/ghdata/_reports", exist_ok=True)
json.dump({"generated":time.strftime("%Y-%m-%dT%H:%M:%SZ",time.gmtime()),
"verified":len(ok),"failed":len(res)-len(ok),
"total_bytes":sum(r.get('bytes',0) for r in ok),"items":res},
open("/workspace/aditi/ghdata/_reports/acquisition_ledger.json","w"), indent=2)
print(f"\nLEDGER verified={len(ok)} failed={len(res)-len(ok)} "
f"bytes={sum(r.get('bytes',0) for r in ok)/1e9:.1f}GB", flush=True)