Nella maggior parte delle organizzazioni, c'è una crescente aspettativa che chiunque possa porre domande ai propri dati in un linguaggio naturale e ricevere risposte accurate all'istante. I modelli linguistici di grandi dimensioni non sono progettati solo per questo scopo; non comprendono gli acronimi interni, le metriche personalizzate o il modo in cui le entità aziendali sono correlate tra loro. Senza quel contesto, anche le domande più semplici possono produrre risultati fuorvianti.
L'implementazione delle best practice di analitiche self-service trasforma il modo in cui le organizzazioni interrogano i dati. Databricks AI/BI Genie colma questa lacuna combinando modelli linguistici con dati governati e una configurazione esplicita sulla Databricks Platform. Un Genie Space è il luogo in cui si codificano la logica, il vocabolario e le regole dell'organizzazione, in modo che le domande in linguaggio naturale si risolvano in query corrette.
Creare un Genie Space affidabile richiede molto più che puntare l'IA su un database. Richiede un'accurata preparazione che riguarda la modellazione dei dati, i metadati e la convalida continua. Questa guida fornisce un approccio pratico e passo-passo per svolgere questo lavoro in modo scalabile.
La qualità di un Genie Space dipende molto dalla qualità dei dati sottostanti. Quando i dati sono già curati e coerenti, il lavoro di Genie diventa più semplice, veloce e preciso. L'obiettivo è quello di esporre dati curati di cui un analista umano si fiderebbe senza bisogno di ulteriori ripuliture.
Le visualizzazioni delle metriche giocano un ruolo fondamentale nell'imporre definizioni coerenti tra i vari team. Ti permettono di codificare la logica aziendale condivisa, come il calcolo dei ricavi o degli utenti attivi, in un unico posto. Genie eredita queste definizioni automaticamente, garantendo che ogni query si basi sulla stessa logica approvata. Questo elimina l'ambiguità e garantisce un'unica fonte di verità.
Prima di configurare i metadati o gli esempi SQL, è necessario definire cosa si intende per successo. Un Genie Space non deve solo rispondere alle domande, ma deve farlo in modo corretto, coerente e nel formato previsto. I benchmark rendono questo processo misurabile.
Utilizzando lo strumento di benchmarking, puoi eseguire nuovamente il tuo set di query comuni tramite un processo automatizzato. Ciò fornisce un sistema coerente e ripetibile per valutare lo stato del tuo Genie Space in ogni fase, consentendoti di misurare i progressi e individuare rapidamente le regressioni.
Con una solida base di dati, ora devi insegnare a Genie il contesto e le regole specifiche della tua organizzazione. Ciò comporta tre livelli di configurazione distinti: arricchire i metadati, definire le relazioni e codificare i pattern SQL.
created_at o status è vago, aggiungi una descrizione per specificare esattamente cosa rappresenta (ad esempio, "Il timestamp di quando è stato effettuato l'ordine, in UTC").Le istruzioni generali forniscono un contesto di alto livello, ma devono essere usate con parsimonia. Sono meno precise dei metadati o degli esempi SQL e non devono mai essere usate per compensare la mancanza di una configurazione altrove.
Prima di aggiungere un'istruzione generale, verifica se il problema può essere risolto tramite descrizioni delle tabelle, metadati dei campi, join, valori di esempio o query di esempio. Utilizza le istruzioni generali solo quando nessuno degli strumenti specifici è applicabile.
Le istruzioni efficaci descrivono la narrativa aziendale in un linguaggio semplice. Spiegano entità, cicli di vita e relazioni chiave senza imporre un comportamento SQL specifico. Evita le istruzioni che forzano la selezione delle tabelle, impostano filtri hardcoded o specificano la formattazione dell'output.
Usa la matrice decisionale sottostante per diagnosticare i problemi comuni. Prima di aggiungere un'istruzione generale, verifica di aver colmato la lacuna utilizzando gli strumenti di configurazione principali:
| Area di gap/problema identificata | Prima funzionalità da controllare e modificare |
|---|---|
| Genie non sta utilizzando la tabella corretta. | Descrizioni delle tabelle: hai spiegato chiaramente a cosa serve ogni tabella e quando deve essere utilizzata? |
| Genie non sta utilizzando il campo giusto per un filtro, un'aggregazione o un calcolo. | Descrizioni e sinonimi dei campi: il campo ha sinonimi chiari per i termini dell'organizzazione? Il suo scopo è descritto bene? |
| Genie non riesce ad abbinare l'input di un utente a un valore specifico nei dati (ad esempio, mappando "Australia" a "AUS"). | Valori di esempio / Dizionari di valori: queste funzionalità sono abilitate per i campi pertinenti per fornire a Genie il contesto sul contenuto della colonna? |
| Genie sta creando join errati o non riesce a unire le tabelle. | Tab Unioni: Hai definito esplicitamente la relazione e la sua cardinalità (ad esempio, da uno a molti)? |
| La logica della query non è corretta oppure il formato di output (colonne selezionate, alias) non è corretto. | Esempi di query SQL: è stato fornito un esempio completo e corretto della query che Genie può usare come template per l'apprendimento? |
| Un calcolo di base deve essere sempre eseguito in un modo specifico e immutabile. | Funzioni SQL (UDF): hai incapsulato questa logica in una funzione per garantire che sia sempre applicata in modo corretto e coerente? |
Questa sezione è la tua opportunità per parlare a Genie in termini ampi e concettuali.
Le istruzioni generali più efficaci forniscono una narrazione di alto livello e leggibile dall'uomo dell'intero contesto organizzativo. Pensalo come la stesura di un executive summary o di un brief di missione per lo Spazio Genie. È qui che spieghi lo scopo dei dati, definisci le entità chiave e descrivi come si relazionano tra loro in un linguaggio semplice.
Questo contesto dovrebbe guidare Genie verso i corretti schemi comportamentali senza imporre comandi SQL specifici. Colma le lacune concettuali che rimangono dopo l'utilizzo di tutti gli strumenti più specifici.
Ecco un esempio comparativo di un'istruzione di alto livello che definisce il contesto per un set di dati di transazioni e cashback:
| Buone istruzioni generali | Istruzioni generali errate | |
|---|---|---|
Riguarda l'analisi delle transazioni e dei premi di cash-back offerti ai consumatori per gli acquisti effettuati presso gli esercenti pertinenti.I clienti ricevono un cash-back per gli acquisti effettuati presso determinati fornitori. Un singolo cliente può effettuare più acquisti presso più fornitori. A un cliente sono associate le informazioni sull'account e quelle demografiche. Un cliente deve essere accettato sulla piattaforma per ricevere il cash-back sui propri acquisti.A un esercente saranno associati un settore e un tasso di cash-back di base. Un singolo esercente può avere più clienti, ognuno dei quali effettua più acquisti.A una transazione saranno associate le informazioni sull'acquisto e sull'avanzamento dell'elaborazione interna. Una transazione passerà da in sospeso a rifiutata o approvata. Ogni singola transazione avrà un unico cliente e fornitore associati. | ** CRITICAL: ALWAYS JOIN LOWER(merchants.id) = LOWER(transactions.merchant_id) **1ACRONYMS:MAU: Monthly active users AU: Activated usersCB: Cash back2If rejected is not specified as a condition, please only use approved. similar for accepted.3Usa queste definizioni di intervallo di trimestri fiscali per le date q1: July–September (E.g., fy-2024 q1 = Jul–Sep 2023) q2: October–December (E.g., fy-2024 q2 = Oct–Dec 2023) q3: January–March (E.g., fy-2024 q3 = Jan–Mar 2024) q4: April–June (E.g., fy-2024 q4 = Apr–Jun 2024)4Per la percentuale di cash back, questa è definita come sum(cash_back) / sum(purchase_amount)5Always exclude merchants.status = ‘deactivated’6 | 1Questo join dovrebbe essere trattato nella sezione Join, invece che nelle Istruzioni generali. La condizione di join chiave dovrebbe essere definita durante la modellazione dei dati.2Gli acronimi dovrebbero essere inclusi nelle descrizioni dei campi e nei sinonimi, ove pertinenti. Questi, inoltre, non hanno alcun contesto che indichi a cosa si applicano o cosa rappresentano.3Non è chiaro a quali colonne si applichino queste regole, né in quali condizioni. Sarebbe quasi certamente meglio rielaborarle completamente come metriche o, quantomeno, indicarle nelle descrizioni delle colonne stesse.4Questi dovrebbero invece essere campi ingegnerizzati nei dati sottostanti, per rimuovere qualsiasi ambiguità o responsabilità dalle query generate. Sarebbero un caso d'uso ideale per una dimensione in una vista metrica.5Queste dovrebbero essere fornite come misure in una vista metrica. Come minimo, dovrebbero essere trattate come query di esempio.6Questa esclusione dovrebbe essere effettuata a livello di ingegneria dei dati, anziché come una condizione da aggiungere sempre alle query generate. |
Le istruzioni inefficaci cercano di svolgere il lavoro di uno strumento più specifico. Spesso sono troppo rigide e dicono a Genie esattamente come scrivere una query, il che può confonderlo o entrare in conflitto con il contesto appreso da altre aree di configurazione. Evita le istruzioni che:
Il lancio di un Genie Space non è la fine del progetto, ma l'inizio di uno strumento di analitiche vivo e in continua evoluzione. I Genie Space di maggior successo sono quelli che vengono monitorati, mantenuti e migliorati attivamente in collaborazione con gli utenti a cui sono destinati. Questo passaggio finale trasforma il tuo Genie Space da una configurazione statica a un asset dinamico che si adatta alle esigenze in evoluzione della tua organizzazione.
La migliore fonte di informazioni per migliorare il tuo Genie Space sono gli utenti esperti. Incarica un piccolo gruppo di SME di agire come promotori e fornisci loro accesso diretto. Incoraggiali a utilizzare gli strumenti di feedback integrati, contrassegnando le risposte come "Buona" o "Cattiva".
Ciò crea un potente e continuo ciclo di feedback. Quando uno SME collabora con Genie per perfezionare una domanda e arrivare a una risposta corretta, tale interazione è una preziosa opportunità di apprendimento. Acquisisci la loro query finale "buona" e la domanda originale, quindi aggiungile alle query di esempio. Questo processo di perfezionamento iterativo, guidato dall'utilizzo nel mondo reale, è il modo più efficace in assoluto per migliorare l'accuratezza e la pertinenza del tuo Space nel tempo.
La Tab di monitoraggio è la tua linea di vista diretta su come gli utenti interagiscono con i tuoi dati. La revisione regolare di questa dashboard fornisce informazioni dettagliate preziosissime sul comportamento degli utenti e ti aiuta a identificare le aree di miglioramento. Cerca:
Questi dati forniscono una guida chiara e basata sull'evidenza su dove concentrare i tuoi sforzi, sia che si tratti di aggiungere nuovi metadati, perfezionare i join, creare query di esempio più mirate o modificare le istruzioni generali per supportare al meglio le esigenze dei tuoi utenti.
Man mano che apporti miglioramenti e i tuoi dati si evolvono, la tua suite di benchmark diventa il tuo strumento principale per la garanzia della qualità e i test di regressione. Qualsiasi modifica significativa a Genie Space, come l'aggiunta di una nuova sorgente di dati, dovrebbe essere immediatamente seguita da un'esecuzione di benchmark.
Questo è il modo più rapido e affidabile per verificare se una modifica ha avuto un impatto positivo o negativo. Se noti un calo delle prestazioni, i risultati del benchmark ti indicheranno esattamente quali query hanno subito una regressione, consentendoti di individuare la fonte della nuova ambiguità e di risolverla rapidamente. Questo approccio disciplinato garantisce che, man mano che il tuo Genie Space cresce, la sua qualità e affidabilità rimangano costantemente elevate.
La creazione di un Genie Space ad alte prestazioni è il prodotto di un perfezionamento continuo, non di una configurazione una tantum. Non tentare di mappare l'intero patrimonio di dati in una sola volta. Seleziona invece un singolo caso d'uso di alto valore, come una dashboard di vendita specifica o un report operativo, e applica questa metodologia.
Inizia creando una porzione di dati pulita, quindi stabilisci subito le tue domande di benchmark "d'oro". Utilizza gli errori in quel benchmark iniziale per guidare la configurazione dei metadati e della logica SQL. Concentrandoti su questo ciclo iterativo - testa, configura, verifica - costruirai un sistema di cui gli utenti si fidano. Questo approccio disciplinato offre funzionalità self-service immediate.
Per iniziare a usare Genie nel loro spazio di lavoro
https://docs.databricks.com/aws/en/genie/set-up
https://learn.microsoft.com/it-it/azure/databricks/genie/set-up
https://docs.databricks.com/gcp/en/genie/set-up
(Questo post sul blog è stato tradotto utilizzando strumenti basati sull'intelligenza artificiale) Post originale
Produto
June 12, 2024/11 min de leitura

