| | |
| | """ |
| | Push zindango-slm scripts to Hugging Face model repo (scripts/ folder). |
| | |
| | Usage: |
| | python scripts/push_scripts_to_hub.py [--repo-id USERNAME/zindango-slm] |
| | """ |
| |
|
| | import argparse |
| | from pathlib import Path |
| |
|
| | from huggingface_hub import HfApi, create_repo, upload_file |
| |
|
| |
|
| | def main(): |
| | parser = argparse.ArgumentParser() |
| | parser.add_argument("--repo-id", default=None) |
| | parser.add_argument("--skip-create", action="store_true") |
| | args = parser.parse_args() |
| |
|
| | sft_root = Path(__file__).resolve().parent.parent |
| | benchmark_root = sft_root.parent / "nanbeige-benchmark-verification" |
| |
|
| | api = HfApi() |
| | user = api.whoami() |
| | username = user["name"] |
| | repo_id = args.repo_id or f"{username}/zindango-slm" |
| |
|
| | if not args.skip_create: |
| | try: |
| | create_repo(repo_id, repo_type="model", exist_ok=True) |
| | except Exception as e: |
| | if "403" in str(e).lower() or "forbidden" in str(e).lower(): |
| | print("Create repo failed. Run with --skip-create.") |
| | raise |
| |
|
| | scripts_to_upload = [ |
| | (sft_root / "scripts/convert_and_push_gguf.py", "scripts/convert_and_push_gguf.py"), |
| | (sft_root / "scripts/push_to_hub.py", "scripts/push_to_hub.py"), |
| | (sft_root / "scripts/push_scripts_to_hub.py", "scripts/push_scripts_to_hub.py"), |
| | (benchmark_root / "scripts/test_zindango_gguf.py", "scripts/test_zindango_gguf.py"), |
| | (benchmark_root / "scripts/llamacpp_chat.py", "scripts/llamacpp_chat.py"), |
| | (benchmark_root / "scripts/llamacpp_chat.sh", "scripts/llamacpp_chat.sh"), |
| | ] |
| |
|
| | for local_path, path_in_repo in scripts_to_upload: |
| | if not local_path.exists(): |
| | print(f"Skipping {local_path} (not found)") |
| | continue |
| | print(f"Uploading {path_in_repo}...") |
| | upload_file( |
| | path_or_fileobj=str(local_path), |
| | path_in_repo=path_in_repo, |
| | repo_id=repo_id, |
| | repo_type="model", |
| | commit_message=f"Add {path_in_repo}", |
| | ) |
| |
|
| | print(f"Done. https://huggingface.co/{repo_id}") |
| |
|
| |
|
| | if __name__ == "__main__": |
| | main() |
| |
|