rule_violation2
/
llama.cpp
/examples
/model-conversion
/scripts
/utils
/hf-add-model-to-collection.py
| #!/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() | |