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
Hai qualcosa da aggiungere? Unisciti alla discussione.