"""Upload pre-built ChromaDB + classified chunks lên Hugging Face Datasets. Yêu cầu: 1. Tạo HF account: https://huggingface.co/join 2. Tạo write token: https://huggingface.co/settings/tokens (chọn "Write" permission) 3. Set token (1 trong 2 cách): - huggingface-cli login (lưu vào ~/.cache/huggingface) - HF_TOKEN=hf_xxx... python scripts/upload_data.py Cách chạy: uv run python scripts/upload_data.py uv run python scripts/upload_data.py --repo-id myusername/meo-chatbot-data --private """ from __future__ import annotations import argparse import os import sys from pathlib import Path ROOT = Path(__file__).resolve().parent.parent if sys.platform == "win32": sys.stdout.reconfigure(encoding="utf-8") def main() -> None: p = argparse.ArgumentParser() p.add_argument( "--repo-id", default="Monmoonluna/meo-chatbot-data", help="HF dataset repo (username/repo-name)", ) p.add_argument("--private", action="store_true", help="Create as private dataset") p.add_argument( "--include-cleaned", action="store_true", help="Also upload cleaned/*.jsonl (article JSONL). +112 MB.", ) args = p.parse_args() from huggingface_hub import HfApi, login # Auth: env var > cached login > prompt token = os.getenv("HF_TOKEN") if token: login(token=token, add_to_git_credential=False) api = HfApi() print(f"Creating dataset repo: {args.repo_id} (private={args.private})") api.create_repo( repo_id=args.repo_id, repo_type="dataset", private=args.private, exist_ok=True, ) # README for the dataset page dataset_readme = f"""--- license: cc-by-nc-4.0 language: - vi tags: - cat - veterinary - rag - vietnamese size_categories: - 10K