Quanto costerebbe il suo progetto con noi? Lo descriva in poche righe e veda la nostra fascia in due minuti. Ottieni una stima

Cos'è lo sviluppo RAG e quando serve alla vostra azienda?

Lo sviluppo RAG è il lavoro di ingegneria che collega un large language model alla vostra conoscenza, così che le risposte provengano dai vostri documenti e non da ciò che il modello ha memorizzato durante l'addestramento. Un'azienda ha bisogno del RAG quando le persone continuano a porre domande le cui risposte esistono già da qualche parte all'interno: macro dell'assistenza, manuali di prodotto, contratti, policy, ticket passati, un wiki in cui nessuno riesce a cercare. Invece di riaddestrare un modello, un sistema RAG recupera i pochi passaggi che contano per ogni domanda e li passa al modello con l'istruzione di rispondere sulla base di quelli e di citarli.

Implementazioni RAG tipiche che ci vengono richieste:

  • Un assistente interno che risponde alle domande del personale a partire da policy, procedure operative e wiki.
  • Un assistente per l'assistenza clienti basato su articoli dell'help center e ticket risolti (vedete sviluppo chatbot AI).
  • Ricerca e risposte su contratti, specifiche o documentazione tecnica.
  • Un livello di "memoria" per un prodotto AI, così che l'assistente ricordi fatti su un utente o un account specifico.

Come funziona una pipeline RAG in produzione?

Una pipeline RAG in produzione ha due metà: un lato offline di ingestione che prepara la vostra conoscenza e un lato online di interrogazione che risponde alle domande. La maggior parte dei problemi di accuratezza nasce dal lato di ingestione, ed è per questo che vi dedichiamo vero tempo di ingegneria invece di trattarlo come uno script da eseguire una volta.

Fase Cosa succede Dove di solito qualcosa va storto
1. Ingestione I connettori prelevano contenuti da file, Confluence, Google Drive, Notion, database, strumenti di ticketing o API Fonti mancanti, nessuna sincronizzazione incrementale, copie obsolete
2. Pulizia e parsing Si estraggono testo, tabelle e intestazioni; si rimuovono duplicati e testo ripetitivo; i PDF scansionati passano per l'OCR Tabelle appiattite in rumore, intestazioni e piè di pagina ripetuti in ogni chunk
3. Chunking I documenti vengono divisi in passaggi con metadati (fonte, sezione, data, livello di accesso) Chunk tagliati a metà frase o troppo grandi per essere specifici
4. Embedding Ogni chunk viene trasformato in un vettore con un modello di embedding Modello non adatto alla lingua o al dominio
5. Archiviazione Vettori e metadati vengono salvati in un database vettoriale Nessun filtro per permesso o data
6. Retrieval Ricerca ibrida (vettoriale più parole chiave), poi reranking dei primi risultati La risposta giusta esiste ma è al quindicesimo posto
7. Generazione L'LLM risponde a partire dai passaggi recuperati, con citazioni Il modello ignora il contesto o mescola conoscenza esterna
8. Valutazione e monitoraggio Un set di test e il feedback reale misurano l'accuratezza nel tempo Nessuno si accorge del calo di qualità dopo una modifica ai dati

Come vanno suddivisi i documenti per il RAG?

Il chunking deve seguire la struttura dei vostri documenti, non un numero fisso di caratteri. Un buon default è dividere per intestazioni e paragrafi in passaggi di qualche centinaio di token, mantenere una piccola sovrapposizione e associare metadati a ogni chunk: titolo del documento, percorso della sezione, data, lingua e chi è autorizzato a vederlo. Il percorso delle intestazioni conta, perché un chunk che dice "il limite è di 30 giorni" è inutile se non si sa che proviene da "Rimborsi > Clienti UE".

Tipi di contenuto specifici richiedono una gestione specifica. Le tabelle vengono mantenute intere o convertite in affermazioni riga per riga. Le FAQ vengono divise con una domanda per chunk. I contratti lunghi vengono suddivisi per clausola mantenendo il numero della clausola. Chat e ticket vengono raggruppati per conversazione, non per riga. Testiamo due o tre strategie di chunking sullo stesso set di valutazione e teniamo quella che recupera più spesso il passaggio giusto, invece di andare a intuito.

Quali embedding e quale database vettoriale usare?

Il modello di embedding e il database vettoriale vanno scelti in base al volume dei dati, alle lingue e alle regole di hosting, ed entrambi devono poter essere sostituiti in seguito. Li teniamo dietro una piccola interfaccia nel codice, così cambiare provider è un lavoro di reindicizzazione, non una riscrittura.

Opzione Adatta a Compromessi
pgvector (PostgreSQL) Team che usano già PostgreSQL, fino a qualche milione di chunk, permessi salvati nello stesso database Serve tuning su scala maggiore; meno funzioni di ricerca integrate
Qdrant Collezioni più grandi, filtri ricchi sui metadati, self-hosting nel vostro cloud Un servizio in più da gestire
Weaviate o Milvus Collezioni molto grandi, ricerca ibrida integrata Impronta operativa più pesante
Pinecone (gestito) Team che non vogliono alcuna gestione del database Dipendenza dal fornitore, i dati escono dalla vostra infrastruttura
OpenSearch o Elasticsearch con vettori Aziende che li usano già per la ricerca per parole chiave Funzioni vettoriali meno mature rispetto ai motori dedicati

Per gli embedding, i modelli ospitati di OpenAI e provider simili sono il modo più rapido per partire. I modelli di embedding open girano sui vostri server quando i dati non possono lasciare il vostro ambiente. I contenuti multilingue (ad esempio inglese più francese o ucraino) richiedono un modello testato su quelle lingue, cosa che verifichiamo durante la valutazione invece di darla per scontata.

Come si misura l'accuratezza del RAG?

L'accuratezza del RAG si misura con un set di valutazione fisso: da 50 a 200 domande reali dei vostri utenti, ciascuna con la risposta attesa e la fonte da cui dovrebbe provenire. Senza quel set, ogni discussione sulla qualità è un'opinione. Con quel set, ogni modifica a chunking, prompt, modelli o dati riceve un punteggio confrontabile.

Monitoriamo quattro numeri:

  1. Retrieval hit rate: il passaggio corretto è comparso tra i primi risultati?
  2. Fedeltà: la risposta afferma solo ciò che dicono i passaggi recuperati?
  3. Correttezza della risposta: la risposta corrisponde a quella attesa, secondo un revisore o un valutatore LLM verificato su campioni umani?
  4. Qualità del rifiuto: quando la risposta non è nella base di conoscenza, il sistema lo dice invece di inventarne una?

In produzione aggiungiamo il feedback degli utenti (pollice su o giù con un motivo), il log delle fonti recuperate per ogni risposta, il costo per richiesta e la latenza. Il set di valutazione viene eseguito automaticamente prima di ogni rilascio, come i test unitari.

E la privacy dei dati, i permessi e la scelta del modello?

Un sistema RAG non deve mai mostrare a un utente un passaggio che non potrebbe aprire nella fonte originale. Salviamo le regole di accesso come metadati dei chunk e filtriamo al momento del retrieval, così i permessi vengono applicati prima che il modello veda qualsiasi cosa. I dati sensibili possono essere cifrati in fase di ingestione; nel nostro progetto AI Grief Companion ogni messaggio è cifrato con AES-256-GCM per messaggio sotto una chiave envelope KMS, e un utente può cancellare tutto con un clic.

Per la fase di generazione lavoriamo con le API di OpenAI e Anthropic Claude e con modelli open serviti sulla vostra infrastruttura (lo stesso progetto esegue adapter Qwen2.5-7B tramite vLLM). La scelta dipende da regole sui dati, lingue, latenza e costo per risposta. Dove serve, i prompt vivono nel database con una cronologia delle versioni, così tono e istruzioni possono essere regolati senza un rilascio di codice.

Quanto costa lo sviluppo RAG?

Il costo dello sviluppo RAG dipende soprattutto da quante fonti collegate, da quanto sono disordinate e da quanto sono rigorosi i requisiti di accuratezza e di permessi. Un proof of concept su una fonte con un set di valutazione richiede tipicamente 3-6 settimane; un assistente in produzione con più fonti, permessi e interfaccia richiede 2-4 mesi; un RAG a livello di piattaforma su più prodotti con modelli su misura richiede di più.

I costi di esercizio sono separati: token del modello per risposta, costi di embedding a ogni reindicizzazione e hosting del database vettoriale. Durante il proof of concept stimiamo il costo per 1.000 domande, così non ci sono sorprese, e dopo una breve call di scoping forniamo un preventivo fisso per le milestone concordate. Con noi un assistente RAG sulla vostra conoscenza parte da 5.000 USD; la nostra guida al costo di sviluppo di un chatbot AI copre i perimetri più ampi.

Dove abbiamo costruito sistemi RAG e LLM?

Il nostro lavoro di retrieval più completo è AI Grief Companion per una startup statunitense: un gateway di ingestione in Python analizza dieci formati di esportazione chat in un'unica tabella di messaggi normalizzata, e una pipeline ML costruisce un profilo di personalità, un grafo di fatti in Neo4j, una memoria RAG e adapter LoRA. La chat usa sempre la fase che è pronta, così gli utenti possono parlare con il sistema prima che l'addestramento sia finito.

Sul lato prodotto, AI Resume Master, il nostro resume builder, usa gli LLM per generare, riscrivere e migliorare contenuti di curriculum e lettere di presentazione, e ha raggiunto 50.000 utenti attivi mensili. Per un quadro più ampio su come aggiungere funzionalità LLM a un prodotto esistente, vedete integrazione AI e la nostra guida all'implementazione RAG.

Come lavoriamo sui progetti RAG

Partiamo da una breve call di scoping e da una discovery: esaminiamo le vostre fonti, raccogliamo domande reali e costruiamo il set di valutazione insieme al vostro team. Poi consegniamo un proof of concept su una fonte con accuratezza misurata, e solo dopo estendiamo a più fonti, permessi e un'interfaccia di produzione. Gli ingegneri senior sono responsabili dell'architettura; internamente usiamo agenti di coding AI per procedere più rapidamente sulla parte infrastrutturale.

Se avete una base di conoscenza su cui le persone continuano a fare le stesse domande, prenotate una call di scoping e portate cinque domande di esempio. Vi diremo con onestà se il RAG è lo strumento giusto.

Case study

Domande frequenti

Il RAG (retrieval-augmented generation) cerca nei vostri contenuti al momento della domanda e fornisce al modello i passaggi più pertinenti, da cui il modello risponde citandoli. Un chatbot generico non conosce i vostri documenti interni, non può rispettare chi è autorizzato a vedere cosa e non può mostrare da dove proviene una risposta. Il RAG aggiunge queste tre cose mantenendo i vostri dati in un archivio che controllate voi.

Il RAG serve quando il modello ha bisogno di fatti che cambiano: policy, documentazione di prodotto, ticket, contratti. Il fine-tuning serve quando il modello ha bisogno di uno stile, di un formato o di un comportamento ristretto che continua a sbagliare. La maggior parte degli assistenti aziendali ha bisogno prima del RAG. Il fine-tuning arriva dopo, se arriva, e i due si combinano bene: nel nostro progetto AI Grief Companion un adapter LoRA porta la voce mentre il retrieval porta i fatti.

Un proof of concept mirato su una fonte di conoscenza con un set di valutazione richiede tipicamente 3-6 settimane. Un sistema in produzione con più fonti, permessi, sincronizzazione incrementale, monitoraggio e interfaccia utente richiede tipicamente 2-4 mesi. La variabile più grande non è il modello ma lo stato dei dati di origine: PDF scansionati, duplicati e pagine obsolete aggiungono lavoro di pulizia.

Se usate già PostgreSQL e avete fino a qualche milione di chunk, pgvector è di solito la scelta più semplice, perché tiene i vettori accanto ai dati relazionali e ai permessi. Qdrant o Weaviate hanno senso per collezioni più grandi, filtri intensivi o una scalabilità dedicata. Servizi gestiti come Pinecone riducono il lavoro operativo ma aggiungono un fornitore. Scegliamo dopo aver esaminato volume dei dati, filtri e regole di hosting.

Le allucinazioni non si possono eliminare del tutto, ma si possono misurare e ridurre. Istruiamo il modello a rispondere solo a partire dai passaggi recuperati e a dire quando non sa, mostriamo le citazioni per ogni risposta, aggiungiamo il reranking perché i passaggi giusti arrivino al modello ed eseguiamo un set di valutazione fisso a ogni modifica. Le risposte sotto una soglia di fiducia vanno a una persona o restituiscono un fallback sicuro.

Avviamo il vostro progetto
Prenota una call