Intermedio 20 minUse Case

Distribuire un chatbot IA interno per PMI (da 0 a 50 collaborateurs)

Dirigi una PMI con meno di 50 collaboratori e vuoi offrire un assistente IA ai tuoi team senza inviare i loro dati a OpenAI. Questa guida fornisce uno stack completo con una stima dei costi per implementare un chatbot IA interno in una PMI: hardware concreto, software open source, SSO Microsoft, piano di 4 settimane, gestione del cambiamento e calcolo del ROI. Niente fumo, niente discorsi promozionali — la lista della spesa e il calendario.

Di Mohamed Meguedmi·Agg. 2026-08-27·Testato su Windows, macOS e Linux

#Perché un chatbot interno anziché ChatGPT Business

ChatGPT Team costa 25 € per utente al mese. Per 30 collaboratori, sono 9.000 € all'anno, a tempo indeterminato. Con lo stesso budget, acquisti una workstation che funziona per 4-5 anni e le tue conversazioni non escono mai dall'ufficio. È questa la scelta centrale.

Maìs il vero argomento non è il prezzo. È ciò che le vostre squadre osano incollare nella finestra del chat. Un commerciale che chiede a un LLM esterno di riformulare una proposta contiene un nome di cliente, un importo, a volte un margine. Un responsabile del personale che riassume un colloquio rivelano una carriera professionale. Moltiplicatelo per 30 persone per 12 mesi — la fuga è garantita, anche con una politica di buon uso.

Privacy
Le conversazioni rimangono sulla tua LAN. Nessun transito soggetto al Cloud Act, nessuna esposizione a un fornitore statunitense che tratta i dati per tuo conto, nessuna impostazione relativa alle politiche da verificare ogni trimestre.
Costo fisso
L'hardware è un CAPEX ammortizzato su 4-5 anni. L'abbonamento SaaS è un OPEX che aumenta con il numero di dipendenti.
Controllo
Tu scegli il modello, regoli il system prompt, colleghi i tuoi documenti interni tramite RAG. Nessuno modifica il tuo strumento alle tue spalle.
Conformità
È più semplice dimostrare la conformità all'AI Act e al RGPD con un sistema on-premise che dipendendo da un fornitore extracomunitario.
i
A chi si rivolge questa guida
PMI con 5–50 collaboratori, con o senza una direzione IT interna. Se nella tua azienda siete 200 persone o più, alcune scelte cambiano (passaggio a vLLM, alta disponibilità, ticketing strutturato): questa guida resta valida come base.

#1. Budget hardware: la workstation da 5.000 a 10.000 €

Il kit IA Locale in Azienda

Implementare un'IA locale sul lavoro: GDPR, AI Act, architettura multiutente, costi, nota per la direzione.

  • Spazio online a vita
  • PDF + file
  • Aggiornamenti a vita

Per servire da 30 a 50 utenti contemporaneamente su un modello da 20B a 35B in qualità Q4_K_M, non serve un server DGX. Una workstation ben scelta ce la fa. Ecco tre configurazioni in base al profilo.

#Profilo A — da 10 a 20 utenti (5.000 €)

GPU
1× RTX 4080 16 GB usata (prezzo variabile) o RTX 5070 Ti 16 GB nuova (≈ 1 400 € a fine settembre 2026). Esegue un modello 20-24B in Q4_K_M con un contesto di 16k token.
CPU
AMD Ryzen 9 7900X o Intel Core i7-14700K. Poco critico, ma 12+ core aiutano nella preparazione degli embedding.
RAM di sistema
64 GB DDR5. Sufficienti per il sistema, Qdrant e la parte della cache KV che viene trasferita nella RAM quando non trova spazio nella memoria della GPU.
Archiviazione
2 TB NVMe Gen4. Modelli + database vettoriale + backup locali.
Modello fornito
Mistral Small 24B (generalista, valido in francese) o gpt-oss 20B in Q4_K_M (~14 GB di VRAM). Latenza ~30 tok/s.

#Profilo B — da 20 a 35 utenti (7 500 €)

GPU
1× RTX 4090 24 GB — non più venduta nuova, da cercare usata (prezzo variabile). Il compromesso ideale per servire un modello da 27-30B in Q4_K_M.
CPU
Ryzen 9 7950X o Threadripper 7960X. Core utili per gestire più conversazioni contemporanee.
RAM di sistema
128 GB DDR5 ECC se possibile. L'indice RAG cresce velocemente.
Archiviazione
2 TB NVMe Gen4 + 4 TB SATA per archiviazione.
Modello fornito
Qwen 3.8 27B (il modello «vicino a Copilot» del 2026, 262k ctx) o Granite 4.2 30B in Q4_K_M (~18 GB di VRAM). Latenza ~20-25 tok/s.

#Profilo C — da 35 a 50 utenti (10.000 €)

Opzione NVIDIA
2× RTX 4090 da 24 GB in parallelismo tensoriale. Permettono di servire un modello da 27-35B in Q8 a piena qualità (circa 30-40 GB di VRAM distribuiti), oppure di eseguire due modelli in parallelo, con una latenza accettabile.
Opzione Apple
Mac Studio M4 Max o Ultra con 64–128 GB di memoria unificata. Ottimo rapporto tra silenziosità e prestazioni, ideale negli uffici open space.
CPU
Threadripper 7970X / 7980X per le configurazioni NVIDIA. Cruciale per gestire 50 connessioni WebSocket simultanee.
RAM di sistema
Da 128 a 256 GB. Margine per la cache del sistema operativo, Qdrant in RAM e un eventuale modello di embedding aggiuntivo.
Modello fornito
Qwen 3.8 27B in Q8 o Qwen 3.6 35B-A3B (MoE veloce) in Q5_K_M. Latenza ~15-20 tok/s.
→
Non specificate troppo il giorno 1
Parti dal profilo A anche se siete in 40. La maggior parte degli utenti non pone domande contemporaneamente. Misurerai il tempo di attesa effettivo dopo 3 settimane e passerai a una GPU più potente se necessario. La scheda madre e l'alimentatore devono invece supportare una GPU più grande fin dall'inizio.

#2. Stack tecnico raccomandato

Bastano quattro componenti open source. Nessun produttore di software ha voce in capitolo, nessuna licenza da rinnovare: tutto gira in Docker sulla workstation.

Ollama
Il demone che carica e serve il modello. È in ascolto per impostazione predefinita su http://localhost:11434. Rileva automaticamente la GPU NVIDIA e gestisce la quantizzazione. Licenza MIT.
Open WebUI
L'interfaccia web tipo ChatGPT. Supporto multiutente nativo, RBAC, integrazione OIDC per il SSO, cronologia per utente. Licenza BSD-3.
Qdrant
Database vettoriale per il RAG. Indicizza i tuoi documenti interni (procedure, contratti tipo, schede prodotto). Più veloce e più semplice di pgvector per questo volume. Licenza Apache 2.
Traefik o Nginx
Reverse proxy per esporre Open WebUI in HTTPS sulla LAN con un certificato interno, terminare TLS e instradare le richieste verso i backend.
docker-compose.yml — scheletro minimo
services:
  ollama:
    image: ollama/ollama:latest
    deploy:
      resources:
        reservations:
          devices:
            - driver: nvidia
              count: all
              capabilities: [gpu]
    volumes:
      - ollama_data:/root/.ollama
    restart: unless-stopped

  qdrant:
    image: qdrant/qdrant:latest
    volumes:
      - qdrant_data:/qdrant/storage
    restart: unless-stopped

  openwebui:
    image: ghcr.io/open-webui/open-webui:main
    environment:
      - OLLAMA_BASE_URL=http://ollama:11434
      - QDRANT_URL=http://qdrant:6333
      - ENABLE_OAUTH_SIGNUP=true
      - OAUTH_PROVIDER_NAME=Microsoft
      - MICROSOFT_CLIENT_ID=${ENTRA_CLIENT_ID}
      - MICROSOFT_CLIENT_SECRET=${ENTRA_CLIENT_SECRET}
      - MICROSOFT_CLIENT_TENANT_ID=${ENTRA_TENANT_ID}
    volumes:
      - openwebui_data:/app/backend/data
    depends_on:
      - ollama
      - qdrant
    restart: unless-stopped

volumes:
  ollama_data:
  qdrant_data:
  openwebui_data:

Questa struttura di base è volutamente breve. Aggiungerai Traefik come livello superiore per HTTPS e un volume bind-mount per i backup notturni sul NAS. Nient'altro.

#3. SSO con Microsoft Entra ID

La maggior parte delle PMI ha Microsoft 365. Collegare l'autenticazione del chatbot a Entra ID (ex-Azure AD) elimina gli account orfani e garantisce che un dipendente che lascia l'azienda perda l'accesso il giorno stesso. Open WebUI gestisce nativamente OIDC con Microsoft.

  1. 01
    Creare una App registration
    Nel portale Entra ID, App registrations → New registration. Nome: « Chatbot IA Interne ». Redirect URI: https://chatbot.votreboite.local/oauth/microsoft/callback (come Web).
  2. 02
    Recuperare le credenziali
    Annota l'Application (client) ID e il Directory (tenant) ID. In Certificates & secrets, genera un Client secret con una scadenza di 24 mesi e annotalo immediatamente (non verrà mai più visualizzato).
  3. 03
    Definire le autorizzazioni
    API permissions → Microsoft Graph → Delegated: openid, profile, email, User.Read. Non servono le autorizzazioni di tipo Application permissions: il flusso è delegato.
  4. 04
    Restringere l'accesso
    Enterprise applications → la tua app → Properties → Assignment required = Yes. Poi Users and groups: aggiungi il gruppo «Tous les collaborateurs» o un gruppo pilota. Senza questo passaggio, qualsiasi account del tenant può accedere.
  5. 05
    Inserire in Open WebUI
    Copia CLIENT_ID, CLIENT_SECRET e TENANT_ID nel .env del docker-compose. Riavvia. Il pulsante «Sign in with Microsoft» appare sulla pagina di login.
!
La trappola classica: Assignment required
Se dimentichi il passaggio 4, tutti gli utenti del tuo tenant Microsoft potrebbero connettersi, inclusi tutti gli account ospiti esterni (clienti, fornitori di servizi). Controlla due volte questa impostazione prima di comunicare l'URL ai team.

#4. Piano di deployment su 4 settimane

Questo calendario presuppone un referente tecnico interno (direttore dei sistemi informativi, responsabile IT o fornitore di servizi) che dedica circa il 50 % del proprio tempo al progetto. Per una PMI non serve dedicare più tempo.

#Settimana 1 — Hardware e installazione

J1-J2
Ordine dell'hardware (workstation, gruppo di continuità da 1500 VA, switch gestito se non già presente).
J3-J4
Ricezione, montaggio se necessario, installazione di Ubuntu Server LTS 24.04, driver NVIDIA, Docker + NVIDIA Container Toolkit.
J5
Download delle immagini Docker, primo ollama pull mistral-small, test di chat direttamente da CLI. Devi vedere i token generati.

#Settimana 2 — Stack e integrazioni

J6-J7
docker-compose up, configuration Open WebUI (admin, paramètres généraux, branding interne).
J8-J9
Configurazione SSO Entra ID, test con 3 account pilota, verifica del flusso di login e logout.
J10
Reverse proxy Traefik con certificato interno tramite la tua PKI o Let's Encrypt DNS-01 se il dominio è pubblico. Test da 2-3 postazioni della LAN.

#Settimana 3 — RAG e progetto pilota

J11-J12
Selezione di un numero di documenti interni pertinenti compreso tra 50 e 200 (procedure, FAQ, schede commerciali). Indicizzazione in Qdrant tramite Open WebUI o uno script Python.
J13-J14
Prompt di sistema in linea con l'identità della PMI: tono, argomenti consentiti, argomenti da rifiutare (questioni sensibili relative alle risorse umane, stipendi, ecc.). Test sui 3 piloti.
J15
Apertura a un gruppo pilota di 5-8 collaboratori rappresentativi (1 addetto alle vendite, 1 alle risorse umane, 1 alla contabilità, 1 alle operazioni…). Raccolta di feedback strutturato.

#Settimana 4 — Formazione e passaggio

J16-J17
Modifiche basate sul feedback della fase pilota (system prompt, documenti RAG, parametri di temperatura).
J18
Sessione di formazione collettiva di 1 ora e 30 minuti: demo, casi d'uso per ruolo professionale, regole d'uso, ciò che NON si inserisce nella chat (dati sanitari, identificativi, ecc.).
J19
Apertura progressiva a tutti i collaboratori tramite il gruppo Entra ID. Annuncio interno.
J20
Installazione del monitoring (Glances o Netdata per la workstation, log delle conversazioni aggregato per identificare i temi richiesti).

#5. Formazione e gestione del cambiamento

Un chatbot interno senza formazione significa sprecare il 70% dell'investimento. I collaboratori non sanno cosa chiedergli, lo confrontano mentalmente con ChatGPT per il grande pubblico e concludono che «è peggio» dopo due prove.

Formato
Una sessione collettiva di 1h30 per gruppi di 10-15 persone. Nessun slide durante 1h. 20 minuti di demo + 1h di pratica con i loro argomenti reali.
Casi d'uso per funzione aziendale
Prepara 3 prompt concreti per ogni funzione (risorse umane, vendite, contabilità, operazioni, direzione). Le persone li copiano e li adattano: è esattamente ciò che vogliamo.
Regole d'uso
Indica chiaramente ciò che può essere incollato (testi interni, bozze, dati già pubblici) e ciò che non deve esserlo (dati sulla salute, condanne, dati bancari nominativi, identificativi tecnici).
Referente
Nomina 1 referente IA per reparto. È lui a diffondere le buone pratiche nel reparto e a segnalare le lacune nelle conoscenze del RAG.
Verifica a 30 giorni
Misura l'utilizzo. Se alcuni reparti non usano lo strumento, è un segnale — manca un caso d'uso evidente per loro, oppure la formazione non ha dato i suoi frutti.
→
Quello che funziona meglio nella demo
Tre casi da mostrare per primi: riformulazione di un'email difficile, sintesi di un lungo resoconto di riunione, traduzione di un documento tecnico. Sono i casi d'uso in cui il valore salta agli occhi in 30 secondi.

#6. Conformità al GDPR e all'AI Act

Il fatto che il sistema sia on-premise semplifica drasticamente la conformità, ma non la elimina. Gli obblighi del RGPD si applicano al trattamento, non alla sua localizzazione.

Registro dei trattamenti
Aggiungi una scheda per il chatbot interno. Finalità: assistenza alla redazione e ricerca documentale. Base giuridica: interesse legittimo del datore di lavoro. Dati trattati: contenuto delle conversazioni, identificativo SSO.
Durata di conservazione
Stabilisci una politica chiara: 90 giorni di cronologia delle conversazioni per utente, eliminazione automatica oltre quel limite. Documentala nel regolamento.
Informazione ai collaboratori
Aggiornamento del regolamento informatico e della nota informativa CSE/CSE. Specifica esplicitamente che le conversazioni vengono memorizzate e sono accessibili all'amministratore tecnico in caso di incidente.
AI Act
Un chatbot interno di assistenza alla produttività rientra nella categoria «rischio limitato» (articolo 50). Obbligo principale: informare l'utente che sta interagendo con un'IA — l'interfaccia Open WebUI lo fa per impostazione predefinita.
Sicurezza tecnica
Backup crittografati del database di Open WebUI, accessi amministrativi tracciati, MFA obbligatoria sugli account Entra ID, aggiornamento mensile delle immagini Docker.
i
DPIA necessaria?
Una valutazione d'impatto (DPIA) non è obbligatoria per un normale caso d'uso legato alla produttività, ma è consigliata se prevedi di collegare il RAG a dati sensibili (fascicoli delle risorse umane, dati identificabili dei clienti). In caso di dubbio, decide il tuo DPO.

#7. ROI: calcolo onesto

Prendiamo una PMI con 30 collaboratori e un'implementazione del Profilo A da 5.000 €. Su un orizzonte di 3 anni.

Costo dell'alternativa SaaS
30 × 25 € × 12 mesi × 3 anni = 27.000 € (ChatGPT Team).
Costo interno
Workstation 5 000 € + elettricità ~200 €/anno + 5 giorni-uomo di installazione il primo anno (~3 500 €) + 2 giorni-uomo/anno di manutenzione (~1 400 €/anno × 2 anni) = ~11 500 € in 3 anni.
Risparmio netto diretto
~15 500 € in 3 anni, circa 5 200 € all'anno a partire dall'anno 2.
Guadagni indiretti
Riduzione del rischio di fuga di dati (quantificabile osservando che una sola fuga evitata copre ampiamente il costo del progetto), conformità al GDPR facilitata, indipendenza dagli aumenti tariffari dei servizi SaaS.
Aumento della produttività
Stima prudente: 15 minuti risparmiati per utente e per giorno lavorativo. Con un costo orario di 35 €, oneri inclusi, e 220 giorni, si arriva a circa 38.500 € all'anno per 30 persone. Questa cifra dipende fortemente dall'adozione effettiva: sii prudente nei business case.
!
L'errore classico nel calcolo del ROI della produttività
Calcolare 1 ora al giorno risparmiata e moltiplicare — è sbagliato. La maggior parte degli utenti abituali risparmia da 10 a 20 minuti al giorno, e il 40% degli account diventa inattivo dopo 2 mesi. Fai una stima generosa dell'adozione (50-60%) e prudente del risparmio per utente (15 min). Il ROI resta ampiamente positivo.

#Per approfondire

Questa guida pone le basi. I tre passi successivi naturali sono: aggiungere un sistema RAG robusto sui tuoi documenti interni affinché il chatbot conosca le tue procedure, rafforzare la sicurezza del deployment multiutente sulla intranet e formalizzare la conformità al RGPD con un dossier ben organizzato.

I prezzi cambiano rapidamente: il nostro monitoraggio rileva ogni lunedì e ogni giovedì il prezzo più basso delle schede grafiche per l'IA locale, con il prezzo per GB di VRAM.

Questa guida ti è stata utile?

Un feedback, un errore, una precisazione? Facci sapere, così la guida migliora per tutti.