IA in locale

Janus: fai girare un'AI in locale con un solo eseguibile, senza Python né Docker

Janus è un progetto open source pubblicato su GitHub: un singolo binario scritto in Go che esegue modelli nel formato GGUF sulla tua macchina, su GPU AMD, Intel o Nvidia tramite Vulkan oppure su CPU, ed espone un'API compatibile con quella di OpenAI. Niente Python da installare, niente Docker da configurare, niente Ollama come intermediario: scarichi l'eseguibile, lo avvii, e hai un server AI locale che parla la stessa lingua di qualunque client OpenAI tu stia già usando.

Perché un'AI in locale, in pratica

Il motivo più concreto per provare un'inferenza locale non è ideologico, è operativo: se stai prototipando una funzione che usa un modello linguistico, ogni chiamata a un'API in cloud ha un costo e una latenza di rete, e i dati che invii escono dal tuo computer. Con un modello locale puoi iterare quanto vuoi senza pensare al costo per token, lavorare anche offline, e tenere tutto — richieste comprese — sulla tua macchina. Per un progetto personale, uno strumento interno o una demo da mostrare a un cliente senza dipendere da una connessione stabile, è una differenza che si sente.

C'è anche un motivo didattico, spesso sottovalutato: far girare un modello in locale ti costringe a capire cosa succede davvero sotto un'API — quanta RAM o VRAM serve, come viene caricato un file GGUF, cosa cambia tra un modello da 3 miliardi di parametri e uno più grande. È lo stesso tipo di comprensione che distingue chi sa solo chiamare uno strumento da chi sa anche dire perché, in un certo caso, quello strumento non basta.

Cosa lo rende diverso da Ollama o da un setup Python classico

La prima differenza è l'assenza quasi totale di dipendenze: Janus è un eseguibile unico (più la libreria condivisa di llama.cpp), non un runtime da installare con il suo gestore di pacchetti. La seconda è la compatibilità: l'API esposta su /v1/chat/completions e /v1/models segue lo stesso formato di OpenAI, quindi puoi puntarci qualunque client o libreria già scritta per quell'API cambiando solo l'indirizzo di base — compresi strumenti come Cursor o Cline, usando gli stessi modelli locali con il flusso di lavoro che già usi.

Interessanti anche due dettagli pensati per l'uso reale: il cambio di modello "a caldo", senza riavviare il server quando vuoi provarne uno diverso, e il supporto esplicito ai modelli che ragionano a voce alta prima di rispondere, con il ragionamento separato dalla risposta finale in un campo dedicato — utile se costruisci un'interfaccia che vuole mostrare (o nascondere) il procedimento del modello, non solo il risultato.

Come provarlo in un pomeriggio

Il flusso di base, su Linux o macOS, è semplice: si clona il repository, si compila con go build, si copia il file .env.example in .env impostando il percorso del modello e il backend (Vulkan se hai una GPU compatibile, CPU in caso contrario), si mette un file .gguf nella cartella models — anche con lo strumento di download incluso, che scarica direttamente un modello da Hugging Face — e si avvia il binario. Il server risponde su http://127.0.0.1:8990, e una chiamata del tipo:

curl http://127.0.0.1:8990/v1/chat/completions -H "Content-Type: application/json" -d '{"model":"local","messages":[{"role":"user","content":"Hello!"}]}'

basta per avere una prima risposta. Su Linux serve avere la libreria libllama.so accanto al binario o nel LD_LIBRARY_PATH; su Windows lo script di build scarica da solo le DLL precompilate di llama.cpp per Vulkan.

Cosa aspettarsi prima di investirci sopra

È un progetto giovane, nato come presentazione "Show HN": va bene per provare, per un progetto personale o un prototipo interno, non ancora come infrastruttura critica di produzione senza averlo testato a fondo. Serve spazio su disco per i modelli (in genere 2-8 GB ciascuno) oltre a una manciata di megabyte per l'eseguibile, ed essendo rilasciato con licenza MIT puoi leggerne il codice, modificarlo o incorporarlo liberamente in un tuo progetto. Prima di decidere se l'inferenza locale merita un investimento serio per un prodotto vero, è comunque il tipo di strumento giusto per farsi un'idea concreta in un pomeriggio, invece che a lettura di benchmark.

Fonte: Janus su GitHub (Vibra-Ingenn/Janus)

Ti serve un sito o un software su misura a Monopoli?

Sono Giuseppe, programmatore e web designer a Monopoli. Realizzo siti web, gestionali su misura e applicazioni per attività e professionisti di Monopoli e di tutta la zona tra Bari, Brindisi e Taranto. Il preventivo è gratuito.

Scopri come lavoro e dove