namboqa-api / tools /upload_data.py
phamluan's picture
NamBoQA API v2 (dữ liệu vòng 3)
7337389 verified
Raw History Blame Contribute Delete
1.54 kB
# -*- coding: utf-8 -*-
"""
Đẩy dữ liệu lên một HF Dataset PRIVATE để Space tải về lúc khởi động.
passages.jsonl có nội dung từ tạp chí/trang thương mại nên KHÔNG được để trong
repo Space (repo Space public ai cũng xem được file). Dataset private thì chỉ
người có token đọc được.
pip install huggingface_hub
huggingface-cli login # token quyền write
python tools/upload_data.py --src ../../nambo_run/data --repo <user>/namboqa-private
"""
import argparse
from pathlib import Path
from huggingface_hub import HfApi
FILES = ["passages.jsonl", "places_clean.json", "qa_final.jsonl"] # split tự tính bằng chia_tap.py
ap = argparse.ArgumentParser()
ap.add_argument("--src", required=True, help="thư mục dữ liệu, vd ../../nambo_run/data")
ap.add_argument("--repo", required=True, help="vd: minhluan/namboqa-private")
ap.add_argument("--emb", nargs="*", default=[],
help="(tuỳ chọn) file emb_*.npy đã tính sẵn để Space khỏi mã hoá lại")
a = ap.parse_args()
api = HfApi()
api.create_repo(a.repo, repo_type="dataset", private=True, exist_ok=True)
src = Path(a.src)
for f in FILES + a.emb:
p = src / f if not Path(f).is_absolute() and (src / f).exists() else Path(f)
api.upload_file(path_or_fileobj=str(p), path_in_repo=p.name, repo_id=a.repo, repo_type="dataset")
print("đã đẩy", p.name)
print(f"Xong. Đặt biến DATA_REPO={a.repo} và secret HF_TOKEN (quyền read) cho Space.")