File size: 1,538 Bytes
7337389
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# -*- 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.")