Utilizzate già Ollama per eseguire modelli di intelligenza artificiale in locale, ma trovate la riga di comando poco pratica nell'uso quotidiano? Open WebUI rappresenta la soluzione ideale per trasformare la vostra esperienza nell'utilizzo dei modelli di IA locali. Questa piattaforma open source offre un'interfaccia web moderna e completa, simile a ChatGPT, pur funzionando interamente offline sulla vostra infrastruttura. In questo articolo, scoprirete come installare e configurare Open WebUI per sfruttare pienamente i vostri modelli di IA con un'interfaccia professionale e funzionalità avanzate come il RAG (Retrieval-Augmented Generation).

Il presente articolo approfondirà i seguenti argomenti chiave relativi a Open WebUI:

  • Cos'è Open WebUI e perché adottarlo
  • Le funzionalità di Open WebUI
  • Installazione di Open WebUI con Docker
  • Installazione di Open WebUI con Python
  • Configurare la connessione tra Open WebUI e Ollama
  • Utilizzo al quotidiano
  • Sfruttare il RAG con Open WebUI
  • Funzionalità avanzate
  • Gestire gli utenti e le permissioni in Open WebUI
  • Proteggere e ottimizzare la vostra istanza Open WebUI
  • Aggiornare Open WebUI
  • Open WebUI vs alternative: quale interfaccia scegliere
  • Casi d'uso in azienda
  • Risolvere i problemi comuni con Open WebUI
  • Domande frequenti

Cos'è Open WebUI e perché adottarlo

Open WebUI è una piattaforma web auto-ospitata, estensibile e ricca di funzionalità, progettata specificamente per interagire con modelli di linguaggio locali. Inizialmente sviluppata sotto il nome di "Ollama WebUI" per funzionare esclusivamente con Ollama, è evoluta per diventare una soluzione universale compatibile con diversi backend di IA.

L'interesse principale di Open WebUI risiede nella sua capacità di offrire un'esperienza utente paragonabile alle interfacce commerciali come ChatGPT o Claude, pur preservando i vantaggi dell'elaborazione locale. L'interfaccia presenta un design curato e moderno, con una zona di conversazione centrale, una cronologia delle discussioni accessibile e opzioni di configurazione facilmente raggiungibili. Questo approccio rende l'intelligenza artificiale locale accessibile anche agli utenti non tecnici che non desiderano manipolare la riga di comando, democratizzando l'uso di potenti modelli di IA.

Open WebUI supporta simultaneamente più backend. Oltre a Ollama, è possibile connettere l'interfaccia ad API compatibili OpenAI, includendo servizi come LM Studio, GroqCloud, Mistral AI, OpenRouter, o anche implementazioni personalizzate. Questa flessibilità permette di passare tra diverse fonti di modelli in base alle proprie esigenze, utilizzando un'unica interfaccia unificata. Tale versatilità è cruciale per gli sviluppatori e gli utenti avanzati che desiderano sperimentare con un'ampia gamma di modelli e servizi.

La piattaforma integra nativamente funzionalità avanzate che arricchiscono considerevolmente l'esperienza utente. Il supporto del RAG (Retrieval-Augmented Generation) permette di aggiungere i propri documenti come fonte di conoscenza per i modelli, migliorando significativamente la pertinenza e l'accuratezza delle risposte. La gestione multi-utente con ruoli e permessi granulari rende Open WebUI adatto ad ambienti professionali o educativi, consentendo una collaborazione efficace. La cronologia completa delle conversazioni, la possibilità di creare modelli personalizzati e l'integrazione di funzioni Python personalizzate costituiscono ulteriori vantaggi per gli usi avanzati, offrendo un controllo e una personalizzazione senza precedenti.

Le funzionalità di Open WebUI

Open WebUI si distingue per un insieme di funzionalità che vanno ben oltre una semplice interfaccia di chat, elevandola a una piattaforma completa per l'IA locale.

Gestione dei modelli

La gestione dei modelli costituisce uno dei punti di forza. Dall'interfaccia, è possibile scaricare nuovi modelli Ollama semplicemente digitando il loro nome, senza passare dalla riga di comando. L'interfaccia visualizza l'avanzamento del download con una barra visiva, fornendo un feedback immediato all'utente. È possibile passare tra diversi modelli in corso di conversazione tramite un menu a discesa situato in alto a sinistra, il che facilita la comparazione delle risposte di modelli differenti sulla stessa domanda. Open WebUI permette anche di utilizzare più modelli simultaneamente in una stessa conversazione, sfruttando i loro rispettivi punti di forza per ottenere risposte ottimali e più complete.

Costruttore di modelli personalizzati (Model Builder)

Il costruttore di modelli personalizzati (Model Builder) offre la possibilità di creare varianti di modelli esistenti direttamente dall'interfaccia web. È possibile definire personaggi o agenti con istruzioni di sistema specifiche, regolare parametri come la temperatura o il contesto, e salvare queste configurazioni per un riutilizzo futuro. Questa funzionalità riproduce le capacità dei Modelfiles di Ollama, ma con un'interfaccia grafica intuitiva che non richiede alcuna conoscenza tecnica, rendendo la personalizzazione dei modelli accessibile a tutti.

Cronologia e organizzazione delle conversazioni

La cronologia e l'organizzazione delle conversazioni permettono di ritrovare facilmente i vostri scambi passati. Ogni conversazione può essere nominata, etichettata e organizzata in cartelle, facilitando la gestione di un gran numero di interazioni. È possibile archiviare le discussioni importanti, condividerle con altri utenti o esportarle per un utilizzo esterno. La funzione di ricerca nella cronologia facilita il recupero di informazioni specifiche affrontate in conversazioni precedenti, rendendola uno strumento prezioso per la ricerca e la consultazione.

Supporto Markdown e LaTeX

Il supporto nativo del Markdown e del LaTeX migliora la presentazione delle risposte dei modelli. Questi ultimi possono formattare le loro risposte con titoli, liste, tabelle, codice con colorazione della sintassi e formule matematiche che si visualizzano correttamente. Questa capacità si rivela particolarmente utile per le spiegazioni tecniche, scientifiche o pedagogiche, dove la chiarezza e la struttura del testo sono fondamentali.

Capacità multimodali

Open WebUI integra anche capacità multimodali per i modelli compatibili. È possibile inviare immagini ai modelli di visione come Llama 3.2 Vision o LLaVA e porre domande sul loro contenuto, aprendo nuove frontiere per l'interazione con l'IA. L'interfaccia supporta la sintesi vocale (TTS) e la riconoscimento vocale (STT), permettendo di interagire con l'IA in modo vocale piuttosto che testuale. Queste funzionalità vocali possono essere configurate con diversi backend, includendo soluzioni locali come SpeechT5, garantendo flessibilità e prestazioni elevate.

Gestione multi-utente

La gestione multi-utente trasforma Open WebUI in una soluzione collaborativa robusta. Un amministratore può creare account utente, definire ruoli con permessi specifici e controllare l'accesso a certi modelli o funzionalità. Questa architettura rende la piattaforma adatta a team, istituti di insegnamento o aziende che desiderano implementare una soluzione di IA centralizzata, con un controllo granulare sull'accesso e sulle risorse.

Installazione di Open WebUI con Docker

L'installazione di Open WebUI può essere realizzata in diversi modi, ma la metodologia basata su Docker rimane la più semplice e affidabile per la maggior parte degli utenti, grazie alla sua capacità di isolare l'applicazione e le sue dipendenze.

Preparazione dell'ambiente Docker

Docker consente di distribuire Open WebUI in un contenitore isolato con tutte le sue dipendenze, evitando conflitti di versione e problemi di configurazione del sistema operativo. Prima di iniziare, assicuratevi che Docker sia installato sul vostro sistema. Su Windows, scaricate Docker Desktop dal sito ufficiale di Docker. Su macOS, installate anche Docker Desktop. Su Linux, utilizzate il gestore di pacchetti della vostra distribuzione, ad esempio sudo apt install docker.io su Ubuntu, per un'installazione rapida e conforme agli standard del sistema.

Installazione con Ollama locale esistente

Per installare Open WebUI avendo già Ollama installato localmente sulla vostra macchina host, utilizzate la seguente riga di comando nel vostro terminale. Questa configurazione è ideale se preferite mantenere Ollama separato o se lo avete già configurato in un modo specifico:

docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main

Questa comando scarica l'immagine Open WebUI, crea un contenitore chiamato "open-webui", espone l'interfaccia sul porta 3000 della vostra macchina, e configura la connessione con Ollama che gira sulla vostra macchina host tramite host.docker.internal. Il parametro -v open-webui:/app/backend/data crea un volume Docker per persistere i vostri dati (conversazioni, configurazioni, documenti) anche se eliminate e ricreate il contenitore, garantendo che le vostre informazioni non vengano perse.

Installazione all-in-one (Open WebUI e Ollama nello stesso contenitore)

Se preferite un'installazione tutto-in-uno che includa sia Open WebUI che Ollama nello stesso contenitore, questa soluzione semplifica la gestione e garantisce la massima compatibilità tra le due componenti. Utilizzate questa riga di comando per i sistemi dotati di GPU, sfruttando l'accelerazione hardware per le operazioni dei modelli di IA:

docker run -d -p 3000:8080 --gpus=all -v ollama:/root/.ollama -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:ollama

Per i sistemi senza GPU, è sufficiente rimuovere il parametro --gpus=all dalla riga di comando. La versione per sistemi senza GPU sarà la seguente, assicurando che l'installazione sia compatibile anche su hardware meno performante o non dotato di capacità di calcolo grafico avanzate:

docker run -d -p 3000:8080 -v ollama:/root/.ollama -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:ollama

In entrambi i casi, il parametro -v ollama:/root/.ollama crea un volume persistente per i modelli Ollama scaricati, mentre -v open-webui:/app/backend/data si occupa dei dati di configurazione e delle conversazioni di Open WebUI. Dopo aver eseguito il comando appropriato, Open WebUI sarà accessibile tramite il vostro browser web all'indirizzo http://localhost:3000, pronto per essere configurato e utilizzato.