File size: 1,913 Bytes
f0f2280
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
#!/usr/bin/env python3
"""
Upload the B2B Ecommerce NER model to Hugging Face Hub
"""

from huggingface_hub import HfApi, create_repo
import os
from pathlib import Path


def upload_to_huggingface(repo_name: str, token: str = None):
    """
    Upload the model to Hugging Face Hub
    
    Args:
        repo_name: Name of the repository (e.g., "username/b2b-ecommerce-ner")
        token: Hugging Face token (or set HF_TOKEN environment variable)
    """
    
    if token is None:
        token = os.getenv("HF_TOKEN")
        if not token:
            print("Please provide a Hugging Face token or set HF_TOKEN environment variable")
            return False
    
    api = HfApi()
    
    try:
        # Create repository
        print(f"Creating repository: {repo_name}")
        create_repo(repo_name, token=token, exist_ok=True)
        
        # Upload all files in the current directory
        model_dir = Path(__file__).parent
        
        print("Uploading files...")
        api.upload_folder(
            folder_path=model_dir,
            repo_id=repo_name,
            token=token,
            repo_type="model"
        )
        
        print(f"✅ Model uploaded successfully to: https://huggingface.co/{repo_name}")
        return True
        
    except Exception as e:
        print(f"❌ Upload failed: {e}")
        return False


if __name__ == "__main__":
    import sys
    
    if len(sys.argv) != 2:
        print("Usage: python upload.py <repo_name>")
        print("Example: python upload.py username/b2b-ecommerce-ner")
        sys.exit(1)
    
    repo_name = sys.argv[1]
    success = upload_to_huggingface(repo_name)
    
    if success:
        print("\nYour model is now available on Hugging Face!")
        print(f"You can use it with: B2BEcommerceNER.from_pretrained('{repo_name}')")
    else:
        print("\nUpload failed. Please check your token and try again.")