diff options
Diffstat (limited to 'llama.cpp/examples/model-conversion/scripts/utils/hf-add-model-to-collection.py')
| -rwxr-xr-x | llama.cpp/examples/model-conversion/scripts/utils/hf-add-model-to-collection.py | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/llama.cpp/examples/model-conversion/scripts/utils/hf-add-model-to-collection.py b/llama.cpp/examples/model-conversion/scripts/utils/hf-add-model-to-collection.py new file mode 100755 index 0000000..7e38af3 --- /dev/null +++ b/llama.cpp/examples/model-conversion/scripts/utils/hf-add-model-to-collection.py @@ -0,0 +1,80 @@ +#!/usr/bin/env python3 + +from huggingface_hub import HfApi +import argparse +import sys + +def add_model_to_collection(collection_slug, model_id, note=""): + """ + Add a model to an existing collection + + Args: + collection_slug: The slug of the collection (e.g., "username/collection-name-12345") + model_id: The model repository ID (e.g., "username/model-name") + note: Optional note about the model + + Returns: + True if successful, False if failed + """ + + # Initialize API + api = HfApi() + + try: + user_info = api.whoami() + print(f"ā
Authenticated as: {user_info['name']}") + + # Verify the model exists + print(f"š Checking if model exists: {model_id}") + try: + model_info = api.model_info(model_id) + except Exception as e: + print(f"ā Model not found or not accessible: {model_id}") + print(f"Error: {e}") + return False + + print(f"š Adding model to collection...") + api.add_collection_item( + collection_slug=collection_slug, + item_id=model_id, + item_type="model", + note=note + ) + + print(f"ā
Model added to collection successfully!") + print(f"š Collection URL: https://huggingface.co/collections/{collection_slug}") + + return True + + except Exception as e: + print(f"ā Error adding model to collection: {e}") + return False + +def main(): + # This script requires that the environment variable HF_TOKEN is set with your + # Hugging Face API token. + api = HfApi() + + parser = argparse.ArgumentParser(description='Add model to a Huggingface Collection') + parser.add_argument('--collection', '-c', help='The collection slug username/collection-hash', required=True) + parser.add_argument('--model', '-m', help='The model to add to the Collection', required=True) + parser.add_argument('--note', '-n', help='An optional note/description', required=False) + args = parser.parse_args() + + collection = args.collection + model = args.model + note = args.note + + success = add_model_to_collection( + collection_slug=collection, + model_id=model, + note=note + ) + + if success: + print("\nš Model added successfully!") + else: + print("\nā Failed to add model to collection") + sys.exit(1) +if __name__ == "__main__": + main() |
