Hugging Face è il più grande hub per modelli AI, dataset e spazi. Ma gli utenti in Russia, Cina e in altri paesi si trovano regolarmente ad affrontare blocchi: la pagina non si carica, il download del modello si interrompe, l'API restituisce un errore 403. Se lavori con le reti neurali e hai bisogno di un accesso stabile ai repository, i proxy risolvono rapidamente questo problema senza configurazioni complesse.
Perché Hugging Face non è disponibile: motivi dei blocchi
Prima di configurare un proxy, è importante capire perché si verificano problemi di accesso. Le ragioni possono essere diverse, e da questo dipende quale soluzione si adatta meglio alle tue esigenze.
Geoblocking da parte del provider. In Russia, alcuni provider di servizi Internet bloccano o rallentano il traffico verso risorse estere su richiesta dei regolatori. Hugging Face è periodicamente soggetto a tali restrizioni, specialmente i suoi server CDN, attraverso i quali transitano file di modelli che vanno da pochi gigabyte a centinaia di GB.
Firewall aziendali. Se lavori in un'azienda o in un'università, gli amministratori di rete possono bloccare l'accesso a repository esterni. Questo è particolarmente vero per enti pubblici e grandi aziende, dove la politica di sicurezza vieta il download di file da fonti sconosciute.
Restrizioni di Hugging Face. Nel 2024, la piattaforma ha introdotto restrizioni per alcuni regioni sul download di determinati modelli, in particolare quelli soggetti a controlli sulle esportazioni statunitensi. I modelli contrassegnati come "restricted" possono richiedere la verifica dell'account o essere completamente inaccessibili da determinati indirizzi IP.
Instabilità della connessione e interruzioni. Anche se non ci sono blocchi formali, la routizzazione del traffico dalla Russia ai server di Hugging Face negli Stati Uniti e in Europa può essere così instabile che il download di un modello da 20 GB si interrompe continuamente. I proxy con server negli Stati Uniti o in Europa risolvono questo problema: il traffico passa attraverso un canale stabile.
Rate limiting per IP. Hugging Face limita il numero di richieste da un singolo indirizzo IP. Se scarichi automaticamente più modelli consecutivamente o utilizzi script per il download massivo di dataset, la piattaforma può temporaneamente bloccare il tuo IP. La rotazione dei proxy risolve questo problema.
Importante: VPN non è la stessa cosa di un proxy. Una VPN cripta tutto il traffico del dispositivo e spesso rallenta la connessione. Un proxy opera a livello di applicazione o script specifico, il che è più conveniente per il download di file di grandi dimensioni e per l'automazione.
Cosa offre un proxy quando si lavora con Hugging Face
Un server proxy funge da intermediario tra il tuo computer e i server di Hugging Face. Invece di una connessione diretta (che può essere bloccata o instabile), la richiesta passa attraverso un server proxy situato in un paese con accesso normale.
Ecco cosa significa concretamente:
- Download stabile di file di grandi dimensioni. Modelli come LLaMA 3, Mistral, Stable Diffusion pesano da 4 a 150+ GB. Tramite un proxy con server in Europa o negli Stati Uniti, il download avviene senza interruzioni, poiché il canale verso Hugging Face è breve e stabile.
- Bypass delle geoblock del provider. Il tuo provider vede solo il traffico verso il server proxy — e non verso Hugging Face. Il blocco viene aggirato automaticamente.
- Cambio IP per bypassare il rate limiting. Se devi scaricare molti modelli o dataset consecutivamente, la rotazione dei proxy consente di evitare blocchi temporanei per IP.
- Funzionamento su server senza GUI. I proxy possono essere facilmente configurati tramite variabili d'ambiente — questo è comodo per lavorare su server remoti, in contenitori Docker, notebook Jupyter e pipeline CI/CD.
- Accesso a modelli restricted. Alcuni modelli sono disponibili solo con IP di determinati paesi. Un proxy con la geolocalizzazione necessaria apre l'accesso a questi modelli.
Inoltre, il proxy non richiede modifiche al codice del tuo progetto: basta configurare una volta le impostazioni nel sistema o nell'ambiente, e tutti gli strumenti (huggingface_hub, transformers, git-lfs) inizieranno a funzionare automaticamente tramite il proxy.
Quali tipi di proxy sono adatti per scaricare modelli
Non tutti i proxy sono ugualmente adatti per lavorare con Hugging Face. Esaminiamo i principali tipi e la loro applicabilità a questo compito.
| Tipo di proxy | Velocità | Stabilità | Per Hugging Face | Quando scegliere |
|---|---|---|---|---|
| Data Center (DC) | ⚡ Alta | ✅ Alta | ✅ Ottima | Download massivo di modelli, script, CI/CD |
| Residenziali | 🔄 Media | ✅ Alta | ✅ Buona | Accesso a modelli restricted, bypass dei controlli |
| Mobile | 🔄 Media | ⚠️ Dipende | ⚠️ Eccessivo | Non necessari per questo compito |
| Gratuiti | ❌ Bassa | ❌ Bassa | ❌ Non adatti | Non adatti per lavori seri |
Per la maggior parte delle attività con Hugging Face, la scelta ottimale è un proxy di data center. Questi garantiscono la massima velocità di download (importante quando si scaricano modelli di decine di GB), una connessione stabile e un IP fisso. Per scaricare un modello di 30 GB, la differenza tra un proxy lento e uno veloce è tra 2 ore e 20 minuti.
Proxy residenziali sono utili se ti trovi di fronte a blocchi di IP di data center da parte di Hugging Face (questo accade per alcuni modelli restricted). Gli IP residenziali appaiono come normali utenti domestici e suscitano meno sospetti nei sistemi di protezione della piattaforma.
I proxy mobili per il download di modelli sono eccessivi: costano di più e i vantaggi del loro utilizzo (alta fiducia della piattaforma negli IP mobili) non sono necessari qui. Hugging Face non è un social network con protezione anti-spam, quindi sono sufficienti i normali proxy DC o residenziali.
Configurazione del proxy per l'accesso tramite browser
Se hai solo bisogno di aprire il sito di Hugging Face, esplorare i modelli o scaricare un file manualmente tramite l'interfaccia web, configura il proxy nel browser. Questa è l'opzione più semplice.
Opzione 1: Estensione per il browser (per attività occasionali)
Installa l'estensione FoxyProxy (Firefox) o Proxy SwitchyOmega (Chrome/Edge). Dopo l'installazione:
- Apri le impostazioni dell'estensione
- Aggiungi un nuovo profilo proxy
- Specifica il tipo: HTTP o SOCKS5
- Inserisci l'indirizzo del server (host) e la porta
- Se il proxy richiede autenticazione, inserisci nome utente e password
- Salva il profilo e attivalo
- Apri huggingface.co — il sito dovrebbe caricarsi
Opzione 2: Impostazioni di sistema del proxy (per Windows)
Se desideri che il proxy funzioni per tutto il computer (inclusi browser, script Python e altre applicazioni):
- Apri Impostazioni → Rete e Internet → Proxy
- Attiva "Usa un server proxy"
- Inserisci l'indirizzo e la porta
- Nel campo delle eccezioni, aggiungi localhost e 127.0.0.1
- Salva le impostazioni
💡 Suggerimento: Per scaricare grandi modelli tramite browser, utilizza un gestore di download (ad esempio, Free Download Manager) — supporta il ripristino in caso di interruzione della connessione e funziona con le impostazioni di sistema del proxy.
Configurazione del proxy per CLI e ambiente Python
La maggior parte degli utenti di Hugging Face scarica modelli tramite la riga di comando o script Python — utilizzando le librerie huggingface_hub, transformers o direttamente tramite git lfs. Per tutti questi strumenti, il proxy viene configurato tramite variabili d'ambiente.
Passo 1. Imposta le variabili d'ambiente
Questo è il modo più universale: la maggior parte delle librerie Python e delle utility di sistema rilevano automaticamente queste variabili:
# Per Linux / macOS (nel terminale o in ~/.bashrc / ~/.zshrc) export HTTP_PROXY="http://username:password@proxy-host:port" export HTTPS_PROXY="http://username:password@proxy-host:port" # Per Windows (in PowerShell) $env:HTTP_PROXY = "http://username:password@proxy-host:port" $env:HTTPS_PROXY = "http://username:password@proxy-host:port" # Per Windows (in CMD) set HTTP_PROXY=http://username:password@proxy-host:port set HTTPS_PROXY=http://username:password@proxy-host:port
Sostituisci username:password@proxy-host:port con i dati reali del tuo proxy. Se il proxy non richiede autenticazione, specifica semplicemente http://proxy-host:port.
Passo 2. Scarica il modello tramite huggingface_hub
Dopo aver impostato le variabili d'ambiente, i comandi standard funzionano senza modifiche:
# Scarica il modello tramite CLI huggingface-cli download mistralai/Mistral-7B-v0.1 # Oppure tramite Python from huggingface_hub import snapshot_download snapshot_download(repo_id="mistralai/Mistral-7B-v0.1")
Passo 3. Configurazione del proxy direttamente in Python (se le variabili d'ambiente non funzionano)
In alcuni casi — ad esempio, in Jupyter Notebook o quando si esegue tramite IDE — le variabili d'ambiente potrebbero non essere trasferite. In tal caso, configura esplicitamente il proxy nel codice:
import os import requests from huggingface_hub import snapshot_download # Impostiamo il proxy tramite os.environ os.environ["HTTP_PROXY"] = "http://username:password@proxy-host:port" os.environ["HTTPS_PROXY"] = "http://username:password@proxy-host:port" # Ora scarichiamo il modello — il proxy verrà applicato automaticamente snapshot_download(repo_id="meta-llama/Meta-Llama-3-8B")
Configurazione del proxy per git lfs
Se cloni un repository tramite git (metodo git clone), devi configurare il proxy per git separatamente:
# Configurazione del proxy HTTP per git git config --global http.proxy http://username:password@proxy-host:port git config --global https.proxy http://username:password@proxy-host:port # Clona il repository con il modello git clone https://huggingface.co/mistralai/Mistral-7B-v0.1 # Per rimuovere il proxy dopo l'uso git config --global --unset http.proxy git config --global --unset https.proxy
⚠️ Importante: git lfs (Large File Storage) utilizza un canale separato per scaricare file di grandi dimensioni. Se le variabili d'ambiente HTTP_PROXY sono impostate globalmente, git lfs le rileverà. Se no, aggiungile in .lfsconfig nella radice del repository.
Utilizzo del proxy in Docker e ambienti server
Molti ingegneri ML lavorano con modelli in contenitori Docker o su server remoti (AWS, GCP, Hetzner, server propri). Se il server si trova in Russia o in un altro paese con accesso limitato a Hugging Face, il proxy deve essere configurato a livello di contenitore o sistema.
Opzione 1: Trasmissione del proxy in Docker tramite variabili d'ambiente
Quando avvii un contenitore, trasmetti le variabili d'ambiente tramite il flag -e:
docker run -it \ -e HTTP_PROXY="http://username:password@proxy-host:port" \ -e HTTPS_PROXY="http://username:password@proxy-host:port" \ -e NO_PROXY="localhost,127.0.0.1" \ python:3.11 bash
Opzione 2: Proxy nel Dockerfile
Se il proxy è necessario durante la fase di costruzione dell'immagine (ad esempio, per scaricare un modello durante docker build):
FROM python:3.11
# Impostiamo il proxy per la costruzione
ARG HTTP_PROXY
ARG HTTPS_PROXY
ENV HTTP_PROXY=$HTTP_PROXY
ENV HTTPS_PROXY=$HTTPS_PROXY
RUN pip install huggingface_hub transformers
# Scarichiamo il modello durante la costruzione
RUN python -c "from huggingface_hub import snapshot_download; snapshot_download('mistralai/Mistral-7B-v0.1')"
Avvio della costruzione con trasmissione del proxy:
docker build \ --build-arg HTTP_PROXY="http://username:password@proxy-host:port" \ --build-arg HTTPS_PROXY="http://username:password@proxy-host:port" \ -t my-ml-app .
Opzione 3: Configurazione del proxy a livello di server (Ubuntu/Debian)
Se desideri che il proxy funzioni per tutti gli utenti e i processi sul server, aggiungi le impostazioni nella configurazione di sistema:
# Aggiungi in /etc/environment HTTP_PROXY="http://username:password@proxy-host:port" HTTPS_PROXY="http://username:password@proxy-host:port" NO_PROXY="localhost,127.0.0.1,::1" # Applica le modifiche source /etc/environment
Dopo questo, tutti i comandi — pip install, huggingface-cli download, wget, curl — utilizzeranno automaticamente il proxy.
Per attività server dove la velocità di download di file di grandi dimensioni è importante, i proxy di data center sono molto adatti: garantiscono un'elevata larghezza di banda e una connessione stabile, il che è fondamentale per il download di modelli pesanti 20–100+ GB.
Checklist: come verificare che il proxy funzioni correttamente
Prima di avviare il download di un modello pesante, assicurati che il proxy sia configurato correttamente. Ecco una rapida checklist di verifica:
1. Verifica che il proxy funzioni
# Verifica tramite curl — dovrebbe restituire l'IP del server proxy, non il tuo IP reale
curl -x http://username:password@proxy-host:port https://api.ipify.org
# Verifica tramite Python
import requests
proxies = {"http": "http://username:password@proxy-host:port",
"https": "http://username:password@proxy-host:port"}
r = requests.get("https://api.ipify.org", proxies=proxies)
print(r.text) # Dovrebbe restituire l'IP del proxy, non il tuo
2. Verifica l'accessibilità di Hugging Face tramite proxy
curl -x http://username:password@proxy-host:port https://huggingface.co/api/models?limit=1 # Risultato atteso: JSON con i dati sui modelli (stato 200)
3. Verifica la velocità di download
# Scarica un piccolo file di test e misura la velocità curl -x http://username:password@proxy-host:port \ -o /dev/null \ --progress-bar \ "https://huggingface.co/bert-base-uncased/resolve/main/config.json"
✅ Checklist prima del download del modello:
- L'IP del proxy viene visualizzato quando si verifica tramite api.ipify.org
- L'API di Hugging Face restituisce stato 200
- La velocità di download del file di test è > 5 MB/s (per un lavoro confortevole)
- Le variabili HTTP_PROXY e HTTPS_PROXY sono impostate nell'ambiente corretto
- Per git — le impostazioni del proxy sono configurate tramite git config
- Per Docker — le variabili sono trasmesse tramite -e o ARG
- NO_PROXY contiene localhost e 127.0.0.1
Errori comuni e come evitarli
Abbiamo raccolto i problemi più frequenti che si incontrano durante la configurazione del proxy per Hugging Face e i modi per risolverli.
Errore 1: SSL certificate verify failed
Alcuni proxy (soprattutto aziendali) intercettano il traffico HTTPS e sostituiscono il certificato SSL. Le librerie Python non si fidano di tale certificato e restituiscono un errore.
Soluzione: Utilizza proxy di qualità che non intercettano SSL. Se si tratta di un proxy aziendale, aggiungi il certificato radice dell'azienda ai certificati fidati tramite la variabile REQUESTS_CA_BUNDLE.
Errore 2: Il proxy funziona nel browser, ma non in Python
Le impostazioni di sistema del proxy di Windows non vengono sempre trasferite in Python. Il browser le legge, ma Python no.
Soluzione: Imposta esplicitamente le variabili d'ambiente HTTP_PROXY e HTTPS_PROXY prima di eseguire lo script o aggiungile all'inizio del file Python tramite os.environ.
Errore 3: Il download inizia, ma si interrompe a metà
Un proxy con limiti di traffico o una connessione instabile può interrompere il download di file di grandi dimensioni.
Soluzione: Utilizza proxy senza limiti di traffico. La libreria huggingface_hub supporta il ripristino: se il download si interrompe, esegui nuovamente il comando con lo stesso percorso e continuerà dal punto di interruzione.
Errore 4: 407 Proxy Authentication Required
Il proxy richiede autenticazione, ma non viene trasferita nella richiesta.
Soluzione: Assicurati che nel URL del proxy siano correttamente specificati nome utente e password: http://login:password@host:port. Se la password contiene caratteri speciali (@, #, %) — codificali tramite URL-encoding.
Errore 5: Il proxy funziona, ma Hugging Face è comunque non disponibile
Questo significa che il server proxy stesso si trova in una regione bloccata o ha problemi di routing verso Hugging Face.
Soluzione: Controlla la geolocalizzazione del server proxy. Per accedere a Hugging Face, scegli proxy con server negli Stati Uniti, Germania, Paesi Bassi o in altri paesi europei. Evita proxy dalla Russia, Cina, Iran: potrebbero avere le stesse restrizioni.
Errore 6: Le variabili d'ambiente non vengono salvate dopo il riavvio
Se hai impostato le variabili tramite export nel terminale, funzionano solo nella sessione corrente.
Soluzione: Aggiungi le righe export HTTP_PROXY=... nel file ~/.bashrc o ~/.zshrc (Linux/macOS) o nelle variabili d'ambiente di sistema di Windows tramite "Proprietà di sistema".
Conclusione
Configurare un proxy per Hugging Face è un compito semplice che risolve subito diversi problemi: bypassare le geoblock, scaricare modelli pesanti in modo stabile, aggirare il rate limiting e accedere a repository restricted. Il principale vantaggio dell'approccio tramite variabili d'ambiente è l'universalità: impostato una volta, tutti gli strumenti (huggingface_hub, transformers, git lfs, curl) funzionano automaticamente tramite il proxy.
Per la maggior parte delle attività — scaricare modelli, lavorare con script, ambienti server — la scelta ottimale sono i proxy di data center: garantiscono la massima velocità e stabilità durante il download di file di grandi dimensioni. Se hai bisogno di accedere a modelli con restrizioni geografiche o la piattaforma blocca gli IP dei data center, considera i proxy residenziali con la geolocalizzazione necessaria: appaiono come normali utenti domestici e praticamente non causano blocchi.
La regola principale quando si lavora con Hugging Face tramite proxy è scegliere un server negli Stati Uniti o nell'Europa occidentale, controllare la connessione prima di scaricare modelli pesanti e non dimenticare la variabile NO_PROXY, affinché il traffico locale venga instradato direttamente.