Torna al blog

    Costruire un chatbot AI personalizzato con RAG per le PMI svizzere

    Un chatbot personalizzato non è un modello fine-tuned. È un piccolo sistema di retrieval privato con un modello linguistico in cima, progettato in modo che i dati non escano mai da infrastruttura svizzera o UE.

    8 min di letturaGregorio Losekoot, LoosData

    Perché RAG e non il fine-tuning

    La maggior parte delle PMI che chiede un 'chatbot AI personalizzato' immagina un modello addestrato sui propri documenti. Quasi mai è la risposta giusta. Il fine-tuning cambia il modo in cui un modello scrive; non cambia in modo affidabile ciò che sa, e incorpora silenziosamente i tuoi dati in un modello costoso da aggiornare e impossibile da verificare riga per riga.

    Retrieval-Augmented Generation risolve il problema reale. I documenti restano in un database che controlli tu. Al momento della domanda, i passaggi rilevanti vengono recuperati e passati a un modello linguistico generico come contesto, con l'istruzione stretta di rispondere solo da quel contesto. Il chatbot risponde con citazioni; puoi tracciare ogni risposta fino al paragrafo di origine, cancellare un documento e vederlo sparire immediatamente dalle risposte, e sostituire il modello sottostante senza riaddestrare nulla.

    I cinque pezzi di un vero sistema RAG

    Un chatbot in produzione è composto da cinque componenti, non uno. Saltane anche solo uno e ottieni una demo che allucina.

    Primo, una pipeline di ingest che legge le fonti, PDF, pagine wiki, export di ticket, contratti, e le normalizza in testo pulito con identificatori stabili. Secondo, un chunker che divide il testo in passaggi abbastanza piccoli da essere ragionati dal modello e abbastanza grandi da portare senso, con URL di origine e numero di pagina allegati. Terzo, un modello di embedding che trasforma ogni chunk in un vettore, salvato in un database vettoriale (pgvector, Qdrant, Weaviate). Quarto, un retriever che, per ogni domanda, trova i top-k chunk più rilevanti e, idealmente, li rerankeggia con un modello più forte. Quinto, uno step di risposta in cui un modello linguistico riceve la domanda, i chunk recuperati e un system prompt che vieta di rispondere fuori da essi.

    Tutto il resto, memoria della chat, routing multilingua, filtri di sicurezza, analytics, sta attorno a questi cinque.

    Addestrare un chatbot AI sulla propria knowledge base

    La frase 'addestrare un chatbot con una knowledge base personalizzata' è fuorviante. Non stai addestrando un modello. Stai curando un corpus, embeddandolo e puntandoci un retriever.

    Inizia piccolo e onesto. Scegli un dominio delimitato, policy HR interne, documentazione di prodotto, una linea di servizio specifica, dove la verità di base esiste davvero in forma scritta. Ingestisci quello per primo. Misura la qualità del retrieval prima di toccare il prompt di generazione: per un set di domande reali, i top-3 chunk contengono davvero la risposta? Se non è così, nessun prompt engineering salverà il chatbot; sistema prima chunking ed embedding.

    Quando il retrieval è solido, calibra il prompt di risposta perché rifiuti cortesemente quando il contesto non contiene la risposta. Un chatbot che dice 'Non ho questa informazione' è infinitamente più utile di uno che la inventa.

    Il vincolo svizzero: tenere i dati privati end-to-end

    Per una PMI svizzera, l'ingegneria interessante non è la scelta del modello. È il percorso dei dati. La nLPD e il GDPR guardano entrambi a dove viaggiano i dati personali, per quanto tempo vengono conservati e chi può vederli, e gli stack vendor di default fanno passare tutto attraverso API di inferenza statunitensi con termini opachi.

    Un deployment RAG conforme tiene documenti ed embedding in un database svizzero o UE che controlli tu. Usa provider di inferenza con residenza dei dati in UE o Svizzera, accordi di retention zero e nessun addestramento sui dati inviati. Registra ogni prompt e risposta per l'audit, cripta gli embedding a riposo e impone controlli di accesso per utente, così un commerciale non può recuperare documenti HR.

    Niente di esotico. È questione di scegliere l'opzione noiosa a ogni livello e scriverla in un diagramma di flusso dei dati prima di ingestire il primo documento.

    Modalità di fallimento comuni e come evitarle

    Quattro modalità di fallimento coprono la maggior parte dei progetti RAG che ci tocca salvare.

    Il retrieval è calibrato su domande sintetiche invece che reali. Il sistema è splendido in demo e sbaglia dal primo giorno in produzione. Valuta sempre contro un set di domande che gli utenti reali hanno posto.

    I chunk sono troppo grandi o troppo piccoli. Passaggi che coprono tre argomenti diluiscono il retrieval; chunk di una singola frase perdono contesto. Parti attorno a 400-800 token con sovrapposizione, poi aggiusta misurando.

    Il prompt lascia che il modello risponda dalla propria conoscenza. Un system prompt serio vieta esplicitamente di usare qualsiasi cosa fuori dal contesto fornito e richiede citazioni per ID di fonte.

    Nessuno possiede il corpus. I documenti invecchiano, si duplicano o si contraddicono, e il chatbot presenta serenamente la versione sbagliata. Un RAG in produzione ha bisogno di un responsabile umano con nome e cognome e di una revisione mensile, esattamente come ogni altro sistema di riferimento.

    In sintesi

    Un chatbot AI personalizzato costruito su RAG è un piccolo sistema di retrieval ben ingegnerizzato con un modello linguistico in coda. Il lavoro interessante sta nel corpus, nel chunking, nel retriever e nel percorso dei dati, non nel modello.

    Se stai valutando un assistente privato sui tuoi documenti, il passo utile più rapido è una call di trenta minuti. Ti diciamo con onestà se il tuo corpus è pronto, che aspetto avrebbe un deployment conforme in Svizzera e cosa sistemare prima se la risposta è 'non ancora'.

    Stai valutando un primo progetto AI?

    Una call di trenta minuti è di solito sufficiente per capire se il workflow che hai in mente vale la pena di essere costruito.