Vai al contenuto principale

Come usare DeepSeek Janus-Pro in locale

Scopri come configurare il progetto DeepSeek Janus-Pro, creare la tua immagine Docker ed eseguire l'app web Janus in locale sul tuo laptop.
Aggiornato 29 set 2026  · 13 min leggi

Scopri con l'IA

ChatGPTClaudePerplexity

DeepSeek, una startup cinese di IA, ha sconvolto l'industria dell'IA globale, bruciando 1.000 miliardi di dollari dalle borse statunitensi e facendo tremare giganti tech come Nvidia e OpenAI. È rapidamente emersa come leader nella generazione di testo, nel ragionamento, nei modelli di visione e nella generazione di immagini. DeepSeek ha recentemente lanciato modelli all'avanguardia, tra cui Janus, un modello multimodale capace di comprendere dati visivi e generare immagini a partire da testo.

Immagine dell'autore

In questo tutorial conosceremo la serie Janus, imposteremo il progetto Janus, costruiremo un container Docker per eseguire il modello in locale e testeremo le sue capacità con vari prompt di immagini e testo.

Scopri i modelli DeepSeek che stanno sconvolgendo l'industria dell'IA globale:

Che cos'è la serie DeepSeek Janus?

La serie DeepSeek Janus è una nuova linea di modelli multimodali progettata per unificare i compiti di comprensione e generazione visiva usando framework innovativi. La serie include Janus, JanusFlow e l'avanzato Janus-Pro, ciascuno dei quali si basa sull'iterazione precedente con notevoli miglioramenti in efficienza, prestazioni e capacità multimodali.

1. Janus

Janus è un framework autoregressivo innovativo che separa la codifica visiva in percorsi distinti per i compiti di comprensione e generazione, pur utilizzando un'architettura transformer unificata. Questo approccio risolve i conflitti tra questi ruoli, migliorando flessibilità ed efficacia. Janus eguaglia o supera modelli specifici per compito, rendendolo un forte candidato per i sistemi multimodali di nuova generazione.

2. JanusFlow

JanusFlow combina il language modeling autoregressivo con il rectified flow, una tecnica di modellazione generativa all'avanguardia. Il suo design minimalista consente un addestramento semplice all'interno dei framework dei large language model senza la necessità di modifiche complicate. JanusFlow mostra prestazioni superiori nei benchmark rispetto ad approcci sia specializzati sia unificati, spingendo di fatto i confini del modeling visione-linguaggio.

3. Janus-Pro

Janus-Pro migliora i modelli precedenti introducendo strategie di training ottimizzate, dataset di addestramento ampliati e scalando a dimensioni maggiori. Questi progressi migliorano significativamente la comprensione multimodale e il seguire istruzioni per il text-to-image, garantendo al contempo una generazione di immagini da testo più stabile.

Janus Pro benchmark

Fonte: deepseek-ai/Janus

Leggi Janus-Pro di DeepSeek: funzionalità, confronto con DALL-E 3 e altro per saperne di più sulla serie Janus, su come accedervi e su come si confronta con DALL-E 3 di OpenAI.

Configurare il progetto Janus

Janus è un modello relativamente nuovo e, al momento, non ci sono versioni quantizzate o applicazioni di IA locali facilmente utilizzabili su laptop o desktop. 

Tuttavia, il repository Janus su GitHub fornisce un'ottima demo di applicazione web Gradio che chiunque può provare. La sfida, però, è che spesso la demo non funziona a causa di diversi conflitti tra pacchetti.

Per superare questo problema, in questo progetto modificheremo il codice originale, costruiremo la nostra immagine Docker ed eseguiremo il container in locale usando l'applicazione Docker Desktop. 

1. Installa Docker Desktop

Per iniziare, scarica e installa l'ultima versione di Docker Desktop dal sito ufficiale di Docker.

Nota per gli utenti Windows:

Se usi Windows, dovrai anche installare Windows Subsystem for Linux (WSL). Apri il terminale ed esegui il seguente comando per installare WSL:

wsl --install

2. Clona il repository Janus

Poi clona il repository Janus da GitHub e vai nella directory del progetto:

git clone https://github.com/deepseek-ai/Janus.git
cd Janus

3. Modifica il codice della demo

Vai nella cartella demo e apri il file app_januspro.py nel tuo editor di codice preferito. Apporta le seguenti modifiche:

  1. Cambia il nome del modello: sostituisci deepseek-ai/Janus-Pro-7B con deepseek-ai/Janus-Pro-1B.

Questo caricherà la versione più leggera del modello, che pesa solo 4,1 GB, rendendola più adatta all'uso in locale.

Modificare il file dell'applicazione web janus pro

  1. Aggiorna l'ultima riga dello script: modifica la funzione demo.queue come segue:
demo.queue(concurrency_count=1, max_size=10).launch(
    server_name="0.0.0.0", server_port=7860
)

Modificare il file dell'applicazione web janus pro

Questa modifica garantisce la compatibilità con l'URL e la porta di Docker.

4. Crea un'immagine Docker

Per containerizzare l'applicazione, crea un Dockerfile nella directory principale del progetto. Usa il seguente contenuto per il Dockerfile:

# Use the PyTorch base image
FROM pytorch/pytorch:latest

# Set the working directory inside the container
WORKDIR /app

# Copy the current directory into the container
COPY . /app

# Install necessary Python packages
RUN pip install -e .[gradio]

# Set the entrypoint for the container to launch your Gradio app
CMD ["python", "demo/app_januspro.py"]

Il Dockerfile:

  • Crea un'immagine Docker usando l'immagine base di PyTorch.
  • Imposta la directory di lavoro all'interno del container.
  • Copia tutti i file necessari dalla tua macchina locale nella directory /app all'interno del container Docker.
  • Installa tutte le dipendenze richieste dall'applicazione.
  • Infine, avvia l'applicazione Gradio all'interno del container.

Creare ed eseguire l'immagine Docker 

Una volta pronto il Dockerfile, costruiremo l'immagine Docker ed eseguiremo il container.

Puoi seguire il corso Introduzione a Docker per imparare le basi della creazione e del deploy di un'immagine Docker. 

Digita il seguente comando nel terminale per creare l'immagine Docker. Questo comando userà il Dockerfile nella cartella principale e assegnerà il nome janus all'immagine:

docker build -t janus . 

La creazione dell'immagine da zero richiede dai 10 ai 15 minuti, in base alla tua velocità di connessione. 

creazione dell'immagine Docker di Janus

Il seguente comando avvia un container Docker per l'applicazione Janus. Abilita il supporto GPU, mappa la porta 7860 per accedere all'app Gradio e garantisce l'archiviazione persistente dei file del modello Hugging Face.

docker run -it -p 7860:7860 -d -v huggingface:/root/.cache/huggingface -w /app --gpus all --name janus janus:latest

Se apri l'applicazione Docker Desktop e vai alla scheda “Containers”, vedrai che il container janus è in esecuzione. Tuttavia, non è ancora pronto all'uso.

Esecuzione dell'immagine Janus nel container.

Per controllarne l'avanzamento, fai clic sul container janus e poi sulla scheda “Logs”. Qui noterai che il container sta scaricando il file del modello da Hugging Face Hub.

Log sul container janus

Una volta scaricato correttamente il modello, i log mostreranno un messaggio che indica che l'applicazione è in esecuzione.

Il modello è stato scaricato correttamente e l'app web è in esecuzione.

Puoi quindi accedere alla tua applicazione visitando il seguente URL nel browser: http://localhost:7860/.

Se riscontri problemi, verifica la versione aggiornata del progetto Janus su kingabzpro/Janus: Janus-Series.

Testare il modello Janus Pro

L'app web ha un'interfaccia pulita e tutto sembra funzionare senza intoppi. In questa sezione testeremo la comprensione multimodale e le capacità di generazione da testo a immagine di Janus Pro.

Test della comprensione multimodale

Per valutare la comprensione multimodale del modello, carichiamo prima un'immagine dal tutorial di DataCamp e chiediamo al modello di spiegarla. I risultati sono impressionanti: anche con il modello più piccolo da 1B, la risposta è molto accurata e dettagliata.                                                                                                    

Interfaccia app web Janus - comprensione multimodale

Successivamente, carichiamo un'altra immagine e chiediamo al modello di riassumere il contenuto di un'infografica. Il modello comprende correttamente il testo nell'immagine e fornisce una risposta molto accurata e coerente. Questo dimostra la forte capacità del modello di elaborare e interpretare sia elementi visivi sia testuali.

Interfaccia app web Janus - comprensione multimodale

Test della generazione da testo a immagine

Scorrendo verso il basso nell'app, troverai la sezione “Text-to-Image Generation”. Qui puoi inserire un prompt a tua scelta e fare clic sul pulsante “Generate Images”. Il modello genera cinque variazioni dell'immagine, operazione che può richiedere alcuni minuti.

Interfaccia app web Janus - generazioni da testo a immagine

I risultati sono notevoli, con output paragonabili a Stable Diffusion XL in termini di qualità e dettaglio.

Puoi imparare come fare fine-tuning di Stable Diffusion XL con DreamBooth e LoRA sulle tue immagini personali. 

Interfaccia app web Janus - generazioni da testo a immagine

Proviamo un altro prompt:

Prompt:

“L'immagine mostra un occhio progettato in modo intricato su uno sfondo circolare adornato da motivi a volute ornamentali che evocano allo stesso tempo realismo e surrealismo. Al centro dell'attenzione c'è un'iride blu vivida, circondata da delicate vene che si irradiano dalla pupilla creando profondità e intensità. Le ciglia sono lunghe e scure, proiettano ombre sottili sulla pelle circostante, che appare liscia ma leggermente testurizzata, come se invecchiata o segnata dal tempo.

Sopra l'occhio c'è una struttura simile alla pietra che ricorda parte di un'architettura classica, aggiungendo strati di mistero ed eleganza senza tempo alla composizione. Questo elemento architettonico contrasta nettamente ma armoniosamente con le curve organiche che lo circondano. Sotto l'occhio si trova un altro motivo decorativo che richiama l'arte barocca, accentuando ulteriormente il senso di eternità racchiuso in ogni dettaglio meticolosamente realizzato.

Nel complesso, l'atmosfera emana un'aura misteriosa intrecciata senza soluzione di continuità con elementi che suggeriscono senza tempo, ottenuta attraverso la giustapposizione di trame realistiche e tocchi artistici surreali. Ogni componente—dai disegni intricati che incorniciano l'occhio al pezzo di pietra dall'aspetto antico sopra—contribuisce in modo unico a creare un tableau visivamente accattivante, intriso di enigmatico fascino.”

Interfaccia app web Janus - generazioni da testo a immagine

Anche questa volta i risultati sono splendidi. Le immagini generate catturano i dettagli intricati e gli elementi artistici surreali descritti nel prompt.

Conclusione

Per testare tutte le capacità del modello, DeepSeek ha distribuito la stessa versione dell'app web su Hugging Face Spaces. Puoi accedervi su Chat With Janus-Pro-7B. Una delle caratteristiche più notevoli del modello Janus Pro è l'elevata accuratezza, anche usando varianti più piccole come il modello da 1B.

In questo tutorial abbiamo esplorato Janus Pro, un modello multimodale capace sia di comprendere immagini sia di generare immagini da prompt testuali. Inoltre, abbiamo costruito una soluzione locale per usare il modello in privato su una GPU da laptop. Questa configurazione è veloce, efficiente e ti permette di sperimentare liberamente con risorse limitate.

Dai un'occhiata alla nostra guida più recente su Fine-tuning di DeepSeek R1 (modello di ragionamento). Imparerai ad addestrare il modello di ragionamento sul dataset medical chain of thought per costruire migliori “medici” IA per il futuro.


Abid Ali Awan's photo
Author
Abid Ali Awan
LinkedIn
Twitter

In quanto data scientist certificato, sono appassionato di sfruttare tecnologie all’avanguardia per creare applicazioni di machine learning innovative. Con una solida esperienza in riconoscimento vocale, analisi e reportistica dei dati, MLOps, AI conversazionale e NLP, ho affinato le mie competenze nello sviluppo di sistemi intelligenti in grado di avere un impatto concreto. Oltre alla mia expertise tecnica, sono anche un comunicatore efficace, con il talento di rendere chiari e sintetici concetti complessi. Di conseguenza, sono diventato un blogger molto seguito in ambito data science, condividendo idee ed esperienze con una community in crescita di professionisti dei dati. Attualmente mi concentro sulla creazione e sull’editing di contenuti, lavorando con large language model per sviluppare contenuti potenti e coinvolgenti che possano aiutare aziende e singoli a valorizzare al meglio i propri dati.

Argomenti
Intelligenza artificiale
Large Language Models

I migliori corsi di IA

Corso

Introduzione agli LLM in Python

3 ore
37K
Scopri i fondamenti degli LLM e la rivoluzionaria architettura transformer su cui si basano!
Vedi i dettagliRight Arrow
Inizia Il Corso
Mostra altroRight Arrow
Correlato

blog

I 15 migliori server MCP remoti che ogni AI builder dovrebbe conoscere nel 2026

Scopri i 15 migliori server MCP remoti che stanno trasformando lo sviluppo AI nel 2026. Scopri come migliorano automazione, ragionamento, sicurezza e velocità dei workflow.
Abid Ali Awan's photo

Abid Ali Awan

15 min

blog

Tokenizzazione nel NLP: come funziona, sfide e casi d'uso

Guida al preprocessing NLP nel machine learning. Copriamo spaCy, i transformer di Hugging Face e come funziona la tokenizzazione in casi d'uso reali.
Abid Ali Awan's photo

Abid Ali Awan

10 min

blog

Che cos'è Snowflake? Guida per principianti alla piattaforma dati cloud

Esplora le basi di Snowflake, la piattaforma dati cloud. Scopri la sua architettura, le sue funzionalità e come integrarla nelle tue pipeline di dati.
Tim Lu's photo

Tim Lu

12 min

Mostra AltroMostra Altro