| |
|
| |
|
| | from huggingface_hub import HfApi
|
| | import argparse
|
| | import os
|
| |
|
| | def upload_gguf_file(local_file_path, repo_id, filename_in_repo=None):
|
| | """
|
| | Upload a GGUF file to a Hugging Face model repository
|
| |
|
| | Args:
|
| | local_file_path: Path to your local GGUF file
|
| | repo_id: Your repository ID (e.g., "username/model-name")
|
| | filename_in_repo: Optional custom name for the file in the repo
|
| | """
|
| |
|
| | if not os.path.exists(local_file_path):
|
| | print(f"β File not found: {local_file_path}")
|
| | return False
|
| |
|
| | if filename_in_repo is None:
|
| | filename_in_repo = os.path.basename(local_file_path)
|
| |
|
| | if filename_in_repo is None or filename_in_repo == "":
|
| | filename_in_repo = os.path.basename(local_file_path)
|
| |
|
| | print(f"π€ Uploading {local_file_path} to {repo_id}/{filename_in_repo}")
|
| |
|
| | api = HfApi()
|
| |
|
| | try:
|
| | api.upload_file(
|
| | path_or_fileobj=local_file_path,
|
| | path_in_repo=filename_in_repo,
|
| | repo_id=repo_id,
|
| | repo_type="model",
|
| | commit_message=f"Upload {filename_in_repo}"
|
| | )
|
| |
|
| | print("β
Upload successful!")
|
| | print(f"π File available at: https://huggingface.co/{repo_id}/blob/main/{filename_in_repo}")
|
| | return True
|
| |
|
| | except Exception as e:
|
| | print(f"β Upload failed: {e}")
|
| | return False
|
| |
|
| |
|
| |
|
| | api = HfApi()
|
| |
|
| | parser = argparse.ArgumentParser(description='Upload a GGUF model to a Huggingface model repository')
|
| | parser.add_argument('--gguf-model-path', '-m', help='The GGUF model file to upload', required=True)
|
| | parser.add_argument('--repo-id', '-r', help='The repository to upload to', required=True)
|
| | parser.add_argument('--name', '-o', help='The name in the model repository', required=False)
|
| | args = parser.parse_args()
|
| |
|
| | upload_gguf_file(args.gguf_model_path, args.repo_id, args.name)
|
| |
|