Passa al contenuto principale
Piattaforma

Utilizzo di AI_Functions nel tuo data warehouse: i principali casi d'uso

Sei casi d'uso di AI che puoi eseguire in puro SQL, sostituendo i notebook, le API e le pipeline che utilizzi oggi.

di Srikant Das e Ismail Makhlouf

Nella maggior parte delle organizzazioni, i data warehouse contengono dati strutturati, mentre i dati non strutturati sono conservati nel data lake. Questo approccio funziona bene per i carichi di lavoro di analytics, che consumano dati strutturati su scala, gestendo un set noto di report giorno dopo giorno.

I carichi di lavoro di AI, tuttavia, richiedono input diversi. I modelli di AI devono spesso analizzare dati non strutturati, come recensioni, ticket di supporto e PDF, e combinarli con i dati strutturati per addestrare, creare e distribuire i modelli. Di conseguenza, un analista che desidera analizzare il sentiment dei ticket di supporto deve inviare le righe a un servizio esterno, attendere le previsioni e ricombinarle manualmente in una tabella. È un processo lento, soggetto a errori in caso di modifiche dello schema e comporta rischi inutili per la sicurezza e la governance.

AI Functions risolvono questo problema portando l'AI direttamente nei tuoi dati, invece di spostare i dati in un ambiente AI separato. Puoi richiamare i modelli all'interno di query SQL standard, mantenendo l'intero processo di inferenza all'interno delle pipeline esistenti e della governance di Unity Catalog. Questa architettura cambia radicalmente il modo in cui lavori con l'AI nel tuo data warehouse:

  • Governance per impostazione predefinita: poiché le AI Functions rispettano i permessi di Unity Catalog, i tuoi dati rimangono sicuri e privati. Il modello accede solo ai dati che autorizzi esplicitamente.
  • Semplicità nativa di SQL: se sai scrivere un'istruzione SELECT, puoi creare soluzioni con l'AI. Databricks gestisce la complessità (pianificazione, parallelizzazione e tentativi di ripristino), così non devi preoccuparti della gestione dei cluster o dell'orchestrazione esterna. Eseguire un'inferenza su milioni di righe è facile tanto quanto su una sola riga: la stessa query si adatta su scala senza bisogno di essere riscritta.
  • Fatturazione unificata: elimina la complessità di riconciliare dashboard diverse. L'utilizzo dell'AI viene visualizzato in system.billing.usage, proprio accanto ai costi standard del tuo warehouse Databricks SQL.
  • Funzioni specializzate: ottieni risultati migliori a costi inferiori. Utilizzando funzioni specifiche per l'attività, come ai_classify, ai_extract, ai_translate e ai_parse_document, sfrutti modelli ottimizzati per compiti specifici invece di pagare di più per un'inferenza generica.

image3.png

Puoi utilizzare queste funzioni AI da qualsiasi punto di Databricks, inclusi i notebook, le Lakeflow Spark Declarative Pipelines e Workflow. In questo post, tuttavia, ci concentreremo in modo specifico sulla chiamata di queste funzioni da Databricks Lakehouse. I casi d'uso riportati di seguito mostreranno come integrare queste funzioni AI nei carichi di lavoro in cui è necessario combinare dati strutturati nel data warehouse con dati non strutturati, provenienti dall'esterno del data warehouse o generati direttamente tramite funzioni abilitate alla GenAI.

Caso d'uso 1: Document intelligence, dai file grezzi alle righe strutturate

ai_parse_document funge da ponte di inserimento (ingestion) che converte il contenuto dei file binari grezzi, come PDF o immagini, in testo leggibile. Una volta analizzato, ai_extract gestisce l'estrazione granulare di chiavi e valori specifici. Questo approccio combinato elimina la necessità di pipeline OCR personalizzate e fragili o di servizi di parsing di terze parti che spesso si interrompono durante le modifiche dello schema.

In questo caso d'uso, indirizziamo ai_parse_document verso un volume Databricks che contiene fatture. Una volta analizzate le fatture, la funzione AI parse document produce i risultati in formato JSON, che vengono poi passati alla funzione ai_extract, in cui definiamo quali entità vogliamo estrarre da tali fatture. Il risultato è una tabella strutturata con i campi che desideriamo estrarre dalle fatture.

La derivazione dei dati (lineage) ora va dal PDF grezzo alle righe estratte all'interno di un unico piano di query. Il ponte che solitamente viene creato manualmente per questo scopo (un servizio OCR Python, una chiamata LLM e un passaggio di flattening JSON) si riduce ora all'interno della query stessa.

Notebook demo: Document intelligence

Caso d'uso 2: Analisi del sentiment sui feedback dei clienti

La funzione ai_classify esegue la classificazione zero-shot, mappando i feedback in formato testo libero in un set specifico di etichette definite dall'utente, senza richiedere l'addestramento del modello. Questo processo trasforma testi non strutturati e disordinati in colonne gestite e interrogabili, rendendo i dati relativi a sentiment e argomenti immediatamente disponibili per le dashboard di BI e la reportistica aziendale.

In questo esempio, vogliamo classificare le recensioni dei clienti della tabella bronze.nps_responses in positive, negative, neutrali e miste.

Notebook demo: Analisi del sentiment

Caso d'uso 3: Traduzione inline per dati multilingue

Con ai_translate, puoi normalizzare i dati multilingue in un'unica lingua di destinazione direttamente all'interno del livello di query. Ciò evita silos di dati e frammentazione, consentendo a tutte le analisi a valle (comprese la classificazione e l'estrazione) di operare sull'intero set di dati globale contemporaneamente, anziché elaborare solo porzioni in lingua inglese.

In questo esempio, estraiamo il sentiment da diverse recensioni dei clienti e poi le traduciamo in inglese.

Notebook demo: Traduzione e normalizzazione

Caso d'uso 4: Classificazione e instradamento su scala

In un'ottica di efficienza operativa, ai_classify converte input a testo libero, come ticket di supporto o trascrizioni di chiamate, in categorie utilizzabili. Identificando l'intento e l'urgenza dei feedback in entrata al momento dell'inserimento (ingestion), consente l'instradamento automatico e intelligente verso i team appropriati o i sistemi di risposta automatizzati.

Nel caso d'uso seguente, inseriamo diversi ticket di supporto da una tabella e poi utilizziamo ai_classify per determinare l'intento dell'utente e l'urgenza del ticket.

Notebook demo: Classificazione e instradamento

Caso d'uso 5: Estrazione strutturata dalle chiamate di vendita con ai_extract

La funzione ai_extract è progettata per estrarre informazioni semistrutturate da contenuti lunghi, come le trascrizioni delle chiamate di vendita, e convertire il testo narrativo in campi strutturati discreti. Questo offre un valore significativo inserendo le informazioni qualitative direttamente negli strumenti di BI, trasformando di fatto le conversazioni parlate in metriche interrogabili come la fase della trattativa e i segnali di rischio.

In questo caso d'uso, analizziamo una lunga trascrizione per identificare il passaggio successivo, la fase della trattativa, l'indicatore di rischio e il motivo del rischio, in modo che i venditori possano dare seguito ai risultati della riunione da cui è stata generata la trascrizione.

Notebook demo: Estrazione dalle chiamate di vendita

Caso d'uso 6: Stesura generativa con ai_query

ai_query è la funzione più generale e la base per tutte le altre: ti consente di inviare un prompt a qualsiasi endpoint di servizio di un Foundation Model ospitato su Databricks a cui hai accesso, e restituirà la risposta del modello per ogni riga.

In questo caso d'uso, possiamo usare ai_query per scrivere una bozza di email di rinnovo per ogni account cliente nella tabella fittizia gold.renewal_signals, che ci mostra quali account sono pronti per il rinnovo.

Poiché sei tu a scrivere il prompt, può fare tutto ciò che il modello è in grado di fare, ed è per questo che gestisce i casi non coperti dalle funzioni più specifiche.

Notebook demo: Stesura generativa

Consigli utili per la produzione

  • Tagga i job fin dal primo giorno: questo ti consentirà di attribuire il costo delle AI Functions ai job corretti
  • Prova prima la funzione specifica per il task: usa ai_query solo quando nessuna delle funzioni ai_classify, ai_extract, ai_parse_document o ai_translate è adatta
  • Richiedi un output strutturato: per ai_query, usa responseFormat per ottenere un output strutturato. Se passi uno schema DDL STRUCT, otterrai campi tipizzati anziché stringhe grezze; i formati JSON-schema/json_object restituiscono comunque stringhe JSON.
  • Scegli il modello con consapevolezza: ogni modello di base presenta dei compromessi in termini di costi, prestazioni e formati di input supportati. Assicurati di scegliere con cura il modello più adatto per ciascun caso d'uso
  • Crea un campione prima di scalare: esegui il test su almeno 10.000 righe, analizza l'output e poi procedi con il resto. Il rapporto costo-accuratezza è specifico per ogni caso d'uso.
  • Gestisci i prompt come codice: tieni traccia delle versioni, esamina i prompt nelle pull request e aggiungi commenti. In questo flusso di lavoro, un prompt è una trasformazione che contiene logica di business

Cosa significa questo per la tua strategia di data warehousing

Il filo conduttore di tutti e sei i casi è lo stesso. L'intelligenza artificiale viene eseguita nello stesso posto del resto del data warehouse: un'unica piattaforma, un unico modello di governance, un'unica fattura, un unico set di pipeline. Qualsiasi riga del tuo ETL SQL esistente può integrare un passaggio di IA senza dover configurare un sistema per ospitarlo, e ogni script Python precedentemente utilizzato per tradurre, valutare o classificare i dati separatamente diventa un candidato ideale per una sostituzione con una sola riga di codice.

Quindi, inizia con una sola colonna. Prendi il carico di lavoro in cui il servizio attuale è più fragile, riscrivilo come una SELECT, eseguilo su 10.000 righe e analizza il risultato. Dopo un rapido test saprai se è la soluzione adatta e avrai smesso di pagare i costi aggiuntivi per il trasferimento dei dati all'esterno solo per poterli utilizzare.

Notebook demo

Ogni notebook include dati di esempio inline, la procedura SQL passo dopo passo e l'output previsto.

Letture consigliate

(Questo post sul blog è stato tradotto utilizzando strumenti basati sull'intelligenza artificiale) Post originale

Ricevi gli ultimi articoli nella tua casella di posta

Iscriviti al nostro blog e ricevi gli ultimi articoli direttamente nella tua casella di posta.