// data & ai · giornale tecnico MILANO ● LIVE 00:00:00

FivetranChat: costruire un chatbot RAG interno con strumenti off-the-shelf

Come Fivetran ha messo in produzione un chatbot interno basato su architettura RAG, appoggiandosi ai servizi AI nativi del cloud e riducendo al minimo lo sviluppo custom.

Molti progetti di generative AI non arrivano mai in produzione. FivetranChat è un controesempio interessante: un chatbot interno basato su architettura RAG (retrieval-augmented generation) che il team di Fivetran ha costruito appoggiandosi in larga parte a componenti off-the-shelf. Il racconto è utile perché mostra dove va davvero lo sforzo tecnico quando si mette in produzione un sistema di questo tipo.

L’architettura

Una RAG richiede due tipi di data integration. Il primo è lo spostamento dei dati dalle sorgenti verso data warehouse o data lake; il secondo è la trasformazione dei dati in embeddings leggibili da un vector database. Per alimentare la knowledge base, il team ha estratto dati da tutte le sorgenti text-rich legate a prodotto e operations: Zendesk (ticket), Slab e Google Drive (documenti), Slack (conversazioni pubbliche), Height (ticket) e Salesforce (conversazioni con i prospect). Una volta caricati a destinazione, i dati vengono denormalizzati in tabelle text-rich tramite trasformazioni dbt, con aggiornamento ogni sei ore.

Retrieval senza vector database separato

Il punto tecnico più interessante riguarda il modello di retrieval. Destinazioni come Databricks e Snowflake includono ecosistemi con strumenti AI nativi: Snowflake Cortex e Databricks Mosaic AI supportano sia knowledge graph sia vector database nel backend. Nel test, il knowledge graph non ha prodotto risposte sensibilmente migliori del vector database, risultando però più lento e oneroso in termini di calcolo. Sfruttando l’embedding automatico offerto da questi servizi (si selezionano tabelle e colonne e il tool le vettorizza), il team ha evitato di costruire una pipeline di embedding separata. L’applicazione di retrieval è un semplice servizio Python single-node integrato in Slack; il foundation model è GPT-4o.

Dove va lo sforzo

L’effort di sviluppo è stato contenuto e concentrato soprattutto nella scrittura di middleware tra i vari componenti. La parte più impegnativa è stata il testing e l’iterazione sulle risposte: indicizzazione e curation dei dati, tuning dei prompt e dei metodi di retrieval. Dal rollout di luglio 2024, a novembre 2024 circa un terzo dell’organico partecipava attivamente al canale Slack dedicato, con una media di quasi 300 query al giorno. La soddisfazione utenti si aggira intorno all’85%, a un costo di circa 0,10 dollari per domanda.

  • Con i servizi AI nativi di una piattaforma cloud si può impostare una RAG senza vector database separato.
  • Anche i campi text-rich dei dati strutturati, non solo i dati non strutturati, contano nel retrieval.
  • Il grosso dello sforzo tecnico va in testing e validazione delle risposte, non nella scrittura di codice.

Fonte: FivetranChat: A homebrewed generative AI story — https://www.fivetran.com/blog/fivetranchat-a-homebrewed-generative-ai-story

Condividi X Facebook LinkedIn WhatsApp Email

// scritto da

Fernando

Hai qualcosa da aggiungere? Unisciti alla discussione.

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Altri dell'autore

dalla stessa firma