SELECTSELECT

SELECT

Cos'è Databricks Genie e vale la pena usarlo? (Recap del webinar)

Questa pagina è disponibile anche in English, Deutsch, Español, Français, 日本語 e Português.

By SELECTNov 12, 2022 min read

In questa sessione, Ian Whitestone (Co-founder & CEO, SELECT by DoiT) e Olivier Soucy (Founder di Okube.ai e Partner Databricks) hanno illustrato cos'è davvero Databricks Genie, come si integrano tra loro i suoi componenti e quanto costa realmente utilizzarlo. Di seguito trova un recap completo, se preferisce leggere anziché guardare il video o se desidera un riferimento da consultare in seguito.

TL;DR

  • Genie non è una singola funzionalità di Databricks. Si tratta di tre prodotti distinti, Genie One, Genie Agents e Genie Code, che poggiano tutti su un livello di intelligenza condiviso chiamato Genie Ontology.
  • Prima era gratuito. Da luglio scorso, Databricks ha iniziato a far pagare Genie Code, e ci si aspetta che prima o poi tocchi anche a Genie One e Genie Agents.
  • Il costo dell'AI è facile da monitorare. Il costo del compute che Genie innesca non lo è, ed è di solito la voce più consistente.
  • I Genie budgets possono mettere un tetto alla componente AI della fattura. Per controllare la componente di compute serve un SQL Warehouse dedicato e taggato correttamente.

Genie è tre prodotti, non uno

Genie è diventato un termine ombrello, e Databricks non ha reso facile orientarsi. Come ha osservato Olivier, i nomi sono cambiati così tante volte che persino chi lavora con Databricks da anni fa fatica a raccapezzarsi. Ecco cosa rientra oggi, concretamente, sotto il nome Genie.

Genie One

Il punto di ingresso per gli utenti business. È un'interfaccia di chat semplificata, simile a ChatGPT o Claude, con la differenza che è collegata direttamente ai suoi dati: le sue tabelle, i suoi metadati e gli agent che ha creato. Funziona anche al di fuori di Databricks: tramite l'API di Genie può essere integrata in Slack, Teams o nei fogli di calcolo, così chiunque può porre una domanda come "quante vendite abbiamo fatto la settimana scorsa?" senza mai aprire Databricks.

Genie Agents

Per impostazione predefinita Genie ha accesso a tutte le tabelle del catalogo, ma non sempre questo basta per rispondere bene a una domanda specifica. I Genie Agents risolvono il problema permettendo di configurare una risorsa con una vera conoscenza di dominio: quali tabelle usare per un determinato argomento, istruzioni in linguaggio naturale ed esempi di calcoli o metriche. Genie One richiama automaticamente questi agent quando una domanda rientra nel loro ambito, senza che sia necessario specificare quale agent usare.

Gli agent possono inoltre essere configurati per operare con le credenziali di chi pone la domanda, così che le regole esistenti di row-level security e column masking continuino ad applicarsi, oppure con una credenziale condivisa se si desidera che l'agent abbia un accesso più ampio.

Genie Code

La componente rivolta agli sviluppatori. Esegue SQL e Python e può creare vere e proprie risorse Databricks: job, pipeline, dashboard e persino altri Genie Agents. Nella demo, Olivier non ha scritto a mano la configurazione di un agent: l'ha generata con Genie Code, che gli ha chiesto quali informazioni servivano e ha poi formattato tutto correttamente.

Il livello sottostante: Genie Ontology

Genie Ontology non è qualcosa con cui si interagisce direttamente: è il livello di intelligenza che fa funzionare gli altri tre prodotti. Costruito sopra Unity Catalog, estrae automaticamente le definizioni di business, mappa le relazioni tra le tabelle, analizza la cronologia delle query per capire cosa viene effettivamente utilizzato e come, e legge i metadati, i commenti e le regole di governance già impostati. È questo che permette a Genie di rispondere a domande sul suo specifico business, invece di fornire risposte generiche e scollegate dal contesto.

Un esempio rapido: insegnare a Genie un portafoglio azionario

Per mostrare come si collegano questi pezzi, Olivier ha fatto una semplice demo. Aveva una tabella in Unity Catalog con lo storico dei prezzi azionari e ha posto a Genie One una domanda diretta: come è cambiato il valore del mio portafoglio negli ultimi due anni?

Genie One non è riuscito a rispondere. Vedeva la tabella dei prezzi azionari, ma non aveva idea di cosa Olivier possedesse realmente: quell'informazione non esiste affatto in Databricks.

Così ha creato un Genie Agent per rimediare. Le istruzioni dell'agent includevano le azioni effettivamente detenute (nella demo, circa 100 $ in azioni Apple e 200 $ in azioni Microsoft, acquistate due anni prima) e una spiegazione in linguaggio naturale di come calcolare il valore del portafoglio a partire da quei dati. Ha inoltre indicato all'agent le tabelle sorgente corrette.

Dopodiché è tornato su Genie One e ha rifatto esattamente la stessa domanda, parola per parola. Questa volta, invece di dichiarare di non avere informazioni sufficienti, Genie ha prodotto un grafico del valore del portafoglio nel tempo, i rendimenti totali, i guadagni e i momenti chiave delle posizioni. Genie One aveva riconosciuto automaticamente quale agent fosse pertinente e lo aveva richiamato, senza che nessuno glielo dicesse.

Questa stessa configurazione supporta anche funzionalità come la conversione di unità. Olivier ha fatto l'esempio di un'istruzione per convertire i prezzi da USD a CAD, o i timestamp in UTC, direttamente nella configurazione dell'agent, senza modificare nulla nelle tabelle sottostanti.

Attorno a questa demo sono emersi altri punti interessanti:

  • Gli agent possono passarsi il testimone. Se una domanda tocca più argomenti, Genie One può richiamare più di un agent, attendere le singole risposte e combinarle in un'unica risposta.
  • Le definizioni degli agent possono essere esportate in JSON o YAML e distribuite tramite Databricks Asset Bundles, lo strumento di deployment semplificato di Databricks, simile a Terraform. Il supporto nativo di Terraform specifico per gli agent non è ancora disponibile.
  • Gli agent possono essere valutati come si fa con il codice, usando MLflow per definire domande di test, confrontare nel tempo le risposte attese con quelle effettive e monitorare il drift una volta che un agent è in produzione.

Olivier ha condiviso anche un esempio reale tratto dal suo lavoro: un sistema di monitoraggio che attinge da diversi agent (workflow falliti, dati sui costi, controlli di qualità dei dati) per generare automaticamente report giornalieri, con in più la possibilità di porre domande di approfondimento come "perché ho dei duplicati?" e ottenere una risposta specifica e utile.

Quanto costa davvero Genie

Genie era gratuito. Le cose sono cambiate a luglio scorso. Databricks aveva inizialmente pianificato di iniziare a far pagare tutti e tre i prodotti contemporaneamente, ma ha fatto marcia indietro per dare ai team il tempo di adattarsi. Al momento di questo webinar, solo Genie Code viene fatturato, in base all'utilizzo, anche se ci si aspetta che prima o poi anche Genie One e Genie Agents vengano misurati e addebitati.

Ogni utente dispone di 150 DBU gratuite al mese (circa 7-8 $, a seconda del cloud provider e della regione) prima che scattino gli addebiti. Un'eccezione da conoscere: i service principal non hanno diritto ad alcuna quota gratuita. L'utilizzo automatizzato viene fatturato fin dalla prima richiesta.

Il costo in sé si divide in due componenti molto diverse:

  1. Utilizzo degli LLM. Questa parte è semplice da monitorare. Viene misurata in DBU e compare nelle system tables: è possibile interrogarla direttamente e filtrare per tipo di prodotto per vedere esattamente quanto costa l'utilizzo dell'AI di Genie.
  2. Compute. Questa è la parte difficile. Eseguire Genie Code (o qualsiasi agent) significa eseguire sotto il cofano SQL e Python veri e propri, e quel compute viene fatturato come normale compute di Databricks. Non esiste una colonna nelle system tables che dica "questa attività del warehouse era di Genie". È invisibile, a meno che non ci si attivi deliberatamente per isolarla.

Nella demo del portafoglio, il costo totale è stato di circa 5 $. La parte LLM è stata fatturata 0 $ perché rientrava nella quota mensile gratuita, anche se da sola sarebbe costata circa 4 $. Olivier è riuscito a separare il costo LLM da quello di compute solo perché si trattava del suo workspace personale, senza altre attività in esecuzione in quella finestra temporale; in un ambiente di produzione condiviso, una separazione così netta non è realistica senza una configurazione aggiuntiva.

Come tenere sotto controllo i costi di Genie

Per la parte LLM, Databricks offre i Genie budgets, configurabili tramite UI o via codice. È possibile impostare un tetto mensile globale e un tetto per utente, disporre di una dashboard per monitorare l'utilizzo e ricevere avvisi via email, Slack o Teams quando qualcuno si avvicina al proprio limite. Al momento questo copre solo Genie Code, essendo l'unico prodotto attualmente fatturato, ma ci si aspetta che venga esteso a Genie One e Genie Agents quando anche questi inizieranno a essere misurati.

Per la parte di compute non esiste un controllo integrato equivalente. L'approccio consigliato è creare un SQL Warehouse dedicato specificamente ai Genie Agents, taggarlo correttamente e instradare attraverso di esso il traffico degli agent. In questo modo un costo altrimenti invisibile diventa qualcosa di effettivamente visibile, da combinare con la dashboard dei costi LLM per avere un quadro completo.

FAQ

Genie rispetta le regole esistenti di row-level security e data masking? Sì. È possibile configurare un agent perché operi con le credenziali di chi pone la domanda, il che significa che le regole esistenti di row-level security o column masking continuano ad applicarsi. In alternativa, si può assegnare all'agent una credenziale condivisa se si desidera che abbia un accesso più ampio di quello di un singolo utente.

Posso scegliere quale modello AI alimenta Genie? No. Databricks gestisce e seleziona il modello al posto suo: si tratta di un modello proprietario costruito specificamente per i propri prodotti dedicati ai dati, e non c'è modo di sostituirlo all'interno di Genie stesso. La scelta del modello è disponibile solo se si sviluppa una Databricks App completamente personalizzata con la propria logica.

Più Genie Agents possono collaborare su una stessa domanda? Sì. Genie One agisce da orchestratore. Se una domanda tocca più argomenti, può richiamare più di un agent, attendere la risposta di ciascuno e combinare i risultati in un'unica risposta.

Posso versionare i miei Genie Agents come farei con il codice? In parte. Le definizioni degli agent possono essere esportate in JSON o YAML e distribuite tramite Databricks Asset Bundles, lo strumento di deployment di Databricks simile a Terraform. Il supporto diretto di Terraform per gli agent non è ancora disponibile.

Come faccio a sapere se un agent risponde davvero correttamente? Databricks supporta le valutazioni tramite MLflow. È possibile definire un set di domande di test con le risposte attese, tracciare l'accuratezza di un agent nel tempo e monitorare il drift una volta che è in produzione.

Snowflake ha qualcosa di simile, con lo stesso modello di prezzo? Sì. Snowflake offre un prodotto comparabile basato su agent, con un modello di prezzo in due parti quasi identico: utilizzo degli LLM più il compute innescato dall'agent. Nella maggior parte dei casi d'uso, è il costo del compute a pesare di più, non il costo degli LLM in sé.

Genie è davvero gratuito? Non più. Da luglio scorso, Databricks ha iniziato a far pagare specificamente Genie Code, fatturato in base all'utilizzo in DBU, con una quota mensile gratuita di 150 DBU per utente (service principal esclusi). Ci si aspetta che in futuro anche Genie One e Genie Agents vengano misurati e addebitati.

Risorse correlate

Desidera la versione scritta e più approfondita di tutto ciò che è stato trattato qui, inclusa la query esatta sulle system tables per estrarre i costi di Genie? Consulti la nostra guida gratuita: Databricks Genie Explained: What It Is, How to Use It, and What It Costs.