# Cache di Hugging Face su Windows: ispezionare, pulire e spostare

I download di Hugging Face possono riempire un'unità Windows attraverso diverse revisioni di modelli, dataset e download interrotti. Inizia con gli strumenti della cache nell'ambiente che li ha scaricati. Eliminare una cartella `blobs` arbitraria può danneggiare le revisioni che condividono ancora quei file, mentre eliminare tutta `HF_HOME` può rimuovere anche lo stato di autenticazione.

## Trova la cache che la tua applicazione usa davvero

La cache Hub abituale è `%USERPROFILE%\.cache\huggingface\hub`, ma un'applicazione può usare un account diverso, una variabile d'ambiente o una directory cache esplicita. Il [riferimento alle variabili d'ambiente](https://huggingface.co/docs/huggingface_hub/package_reference/environment_variables) distingue `HF_HOME`, `HF_HUB_CACHE` e `HF_XET_CACHE`. `HF_HOME` è più ampio della cache dei modelli e include il token di autenticazione memorizzato.

Apri il terminale o l'ambiente Python usato dall'applicazione AI e ispeziona il comando installato:

```
hf cache --help
hf cache ls
hf cache ls --revisions
```

Questi sono comandi di inventario. Se `hf` o un sottocomando non è disponibile, controlla la versione di `huggingface_hub` in quell'ambiente e il percorso di aggiornamento supportato dallo strumento. Non aggiornare un'installazione Python globale non correlata e dare per scontato che modifichi l'ambiente privato dell'app.

Per una cache Hub configurata altrove, passa il percorso effettivo con `--cache-dir`. Un elenco dalla posizione predefinita non dimostra che la posizione personalizzata più grande sia vuota.

## Controlla il comando e il percorso prima di fidarti del totale

In PowerShell, questi controlli mostrano quale eseguibile viene chiamato e quali override di percorso ha il processo corrente. Non mostrano il token di autenticazione:

```powershell
Get-Command hf | Select-Object Source
$env:HF_HOME
$env:HF_HUB_CACHE
$env:HF_XET_CACHE
```

Una riga vuota significa che quella variabile non è impostata in questo processo PowerShell. Non dimostra che un launcher desktop, un ambiente virtuale o un servizio non usino alcun override. Confronta queste letture con l'applicazione che ha eseguito il download, soprattutto quando sono presenti più installazioni di Python.

Per una cache personalizzata di esempio, usa il suo percorso esplicito sia nell'inventario sia nell'anteprima:

```powershell
hf cache ls --cache-dir "D:\AI\huggingface\hub" --revisions
hf cache rm model/OWNER/REPOSITORY --cache-dir "D:\AI\huggingface\hub" --dry-run
```

Sostituisci il percorso e l'ID del repository con i valori trovati sul PC. Se il comando installato rifiuta un'opzione, fermati e leggi il suo help. Non trasformare un errore di sintassi in un'eliminazione manuale della cartella. Anche un elenco di zero voci in un percorso appena digitato non è prova che la cache reale sia vuota.

## Comprendi perché più revisioni possono costare di più su Windows

La [spiegazione della cache](https://huggingface.co/docs/huggingface_hub/guides/manage-cache) di Hugging Face descrive blob condivisi e istantanee delle revisioni. Su Windows senza supporto per i collegamenti simbolici, i file possono essere memorizzati direttamente nelle istantanee, quindi lo stesso file può occupare spazio più di una volta tra le revisioni.

La Modalità sviluppatore può abilitare il comportamento più efficiente dei collegamenti simbolici dove i criteri lo consentono. Nascondere l'avviso sui collegamenti simbolici non abilita i collegamenti né deduplica retroattivamente i download vecchi. Non eseguire un'intera applicazione AI come amministratore solo per silenziare quel messaggio.

Distingui anche la cache Hub dai file modello copiati nella cartella propria di un'applicazione. Un comando della cache non inventaria ogni file `.safetensors` o GGUF sul PC.

## Evita di contare due volte i file di modello condivisi

La documentazione attuale della cache descrive la condivisione non solo tra revisioni ma anche tra repository per i download Xet idonei. La dimensione riportata di un repository può essere logica, mentre la dimensione fisica dell'intera cache conta i file condivisi una sola volta. Sommare la dimensione di ogni repository può quindi sovrastimare lo spazio che eliminandoli si recupererebbe.

Questo conta quando due nomi di modello sembrano ugualmente grandi. Possono contenere pesi diversi, file condivisi o copie separate, a seconda del metodo di download e del filesystem. Lascia che lo strumento di cache compatibile calcoli un piano di eliminazione invece di presumere che ogni gigabyte elencato sia indipendente.

La stessa documentazione avverte che i client più vecchi non gestiscono tutti correttamente il nuovo archivio condiviso. Se la cache è stata creata da una libreria più recente rispetto allo strumento che stai per usare per la rimozione, controlla la versione supportata dall'applicazione prima della pulizia. Conserva l'ambiente esistente o usa deliberatamente uno strumento compatibile e mantenuto; non aggiornare alla cieca le dipendenze bloccate di un'applicazione.

La cache Hub è solo una posizione. I dati Xet, l'output dell'elaborazione dei dataset e i file scaricati esplicitamente in una directory di modelli locale possono trovarsi altrove. Se l'anteprima Hub copre solo una piccola parte dell'uso del disco, individua quegli altri proprietari invece di rendere più aggressiva l'eliminazione tramite Hub.

## Visualizza in anteprima la rimozione di un repository noto

Ferma download, addestramento e inferenza che usano la cache di destinazione. Identifica un repository di cui non hai più bisogno e conferma che la sua revisione esatta sia di nuovo disponibile se il ripristino è importante. Accesso con restrizioni, file rimossi a monte e uso offline possono rendere difficile sostituire un modello nominalmente scaricabile.

L'attuale [guida CLI](https://huggingface.co/docs/huggingface_hub/guides/cli) supporta un'anteprima:

```
hf cache rm model/OWNER/REPOSITORY --dry-run
```

Sostituisci `model/OWNER/REPOSITORY` con l'ID esatto dall'elenco. Leggi le revisioni interessate e la dimensione. Solo dopo questa verifica, esegui lo stesso comando senza `--dry-run` e rispondi alla sua conferma. Questa è un'eliminazione, non uno spostamento nel Cestino.

Per la pulizia del materiale della cache non referenziato, visualizza in anteprima separatamente il piano dello strumento installato:

```
hf cache prune --dry-run
```

Una revisione non referenziata può essere comunque richiesta da uno script fissato al suo commit. Controlla quei progetti prima di accettare una potatura. Non usare un flag di conferma generico per aggirare quella verifica.

## Confronta un piano di prune con i progetti reali

Un riferimento a un branch o a un tag nella cache non è un inventario completo di ciò che serve ai tuoi progetti. Uno script può indicare un hash di revisione esatto che non è più la punta del branch in cache. Prima di accettare un prune, cerca la configurazione dei progetti attivi per l'ID del modello e la revisione bloccata, e conserva una copia di tutto ciò che serve per il lavoro offline o riproducibile.

La documentazione attuale della CLI include anche i download `.incomplete` interrotti nel comportamento di prune. Completa o interrompi il download proprietario prima di rivedere il piano. Un file parziale lasciato da un download interrotto è diverso da un file che un altro processo in esecuzione sta ancora scrivendo.

Dopo una rimozione esaminata, riesegui l'inventario per lo stesso percorso di cache esplicito e confronta lo spazio disponibile sulla stessa unità. Poi esegui un piccolo carico di lavoro rappresentativo. Se scarica subito di nuovo un modello grande, quel carico di lavoro richiede ancora i dati rimossi; ripetere la pulizia scambierà solo l'uso del disco con il tempo di download.

Per uno spostamento, tieni lo stato di autenticazione fuori dall'operazione a meno che spostarlo non sia intenzionale. Impostare solo `HF_HUB_CACHE` su un'altra unità è meno invasivo che spostare tutto `HF_HOME`. Registra il vecchio valore prima di cambiarlo, riavvia l'app proprietaria e controlla dove appare il suo prossimo download effettivo. Se l'app continua a usare la vecchia directory, indaga il suo percorso di cache esplicito prima di rimuovere una delle due copie.

## Sposta i download futuri senza confondere le posizioni

Per collocare la cache Hub su un'altra unità, configura `HF_HUB_CACHE` per l'applicazione che la possiede, poi riavvia completamente quell'applicazione. Le modifiche all'ambiente devono essere presenti prima dell'importazione della libreria. Uno `cache_dir` specifico dell'app può comunque puntare altrove, quindi verifica la destinazione effettiva del download successivo.

Cambiare la variabile non sposta i file vecchi. Conserva la vecchia cache finché la nuova posizione non è stata testata e qualsiasi materiale necessario solo in locale è stato preservato. Se la vecchia directory è ancora grande, esaminala esplicitamente con lo strumento della cache e il suo percorso.

Dopo la pulizia, testa un carico di lavoro importante e confronta lo spazio libero sullo stesso volume. Per l'archivio modelli separato di Ollama, usa la [guida alla migrazione di Ollama](/it/windows/blog/move-ollama-models-windows). Un branding condiviso attorno all'AI non significa che gli strumenti condividano una cache o un unico comando di eliminazione sicuro.


Canonical: https://mole.fit/it/windows/blog/huggingface-cache-windows
