Analisi conversazionale utilizza Gemini Google Cloud per interpretare le domande in linguaggio naturale, utilizzando il tuo modello semantico (LookML), i valori dei dati e le configurazioni dell'agente di dati di Looker come fonte attendibile. La qualità delle risposte dipende dall'efficacia con cui prepari questi input.
Questa guida fornisce strategie e best practice per sviluppatori e amministratori LookML per configurare e ottimizzare l'Analisi conversazionale. Seguendo questi consigli per il modello LookML, le esplorazioni e gli agenti di dati, puoi aumentare l'adozione da parte degli utenti e assicurarti che ricevano risposte accurate, pertinenti e utili alle loro domande. Questa guida illustra le best practice relative all'analisi conversazionale, seguendo un flusso logico che inizia con lo sviluppo di una base solida in LookML di un modello, la configurazione di Explore basati su questo modello e la creazione di agenti di dati che utilizzano questi Explore come origini dati.
- Best practice per LookML per l'analisi conversazionale
- Best practice per la configurazione di un'esplorazione da utilizzare con l'analisi conversazionale
- Best practice per la creazione di agenti di dati
- Quando aggiungere il contesto a LookML anziché alle istruzioni dell'agente
Best practice di LookML per Analisi conversazionale
Analisi conversazionale interpreta le domande in linguaggio naturale utilizzando questi input principali:
- Il modello LookML: l'agente recupera lo schema delle esplorazioni a cui è connesso. Lo schema include campi (dimensioni, misure), campi solo con filtri (filtri, parametri) e le relative etichette, descrizioni e sinonimi definiti nel modello LookML sottostante l'esplorazione di Looker. Per l'elenco completo dei parametri LookML analizzati da Analisi conversazionale, consulta la panoramica di Analisi conversazionale.
- Valori di campo distinti: l'agente può campionare i valori dei dati ed eseguire ricerche fuzzy per verificare la presenza di valori di campo specifici nel database sottostante. Questi metodi consentono all'agente di scegliere i campi corretti, applicare i valori di filtro corretti e identificare le categorie e le entità disponibili su cui gli utenti potrebbero porre domande.
L'efficacia dell'Analisi conversazionale è direttamente correlata alla qualità e alla chiarezza di questi input. La seguente tabella contiene i modi comuni in cui LookML poco chiaro o ambiguo può influire negativamente sull'Analisi conversazionale, insieme a soluzioni per ridurre la latenza e migliorare l'output e l'esperienza utente.
| Problema di qualità di LookML | Soluzione per un'analisi conversazionale più chiara |
|---|---|
| Mancanza di chiarezza e conflitti di denominazione:i campi che non hanno etichette chiare, hanno definizioni ambigue o condividono nomi simili in diverse visualizzazioni possono portare a una selezione errata dei campi. | Applica etichette chiare e descrizioni dettagliate:
|
| Eccesso di campi:l'esposizione di un numero eccessivo di campi, come ID interni, campi duplicati da join o calcoli intermedi, ingombra le opzioni disponibili per l'analisi conversazionale. | Nascondi i campi non pertinenti:assicurati che tutte le chiavi primarie, le chiavi esterne e i campi tecnici rimangano nascosti. (Facoltativo) Estendi le esplorazioni:per le esplorazioni con molti campi, valuta la possibilità di creare una versione dedicata per l'analisi conversazionale estendendo un'esplorazione esistente. |
| Carico del database per il campionamento e la ricerca:il recupero di valori di esempio e suggerimenti dal database può essere lento o comportare un carico non necessario, soprattutto quando gli utenti fanno riferimento a valori di dati specifici nelle query. | Definisci i suggerimenti in LookML:evita le query di database in tempo reale per i suggerimenti sui campi codificando i valori o indirizzando a dimensioni più efficienti:
|
| Carico del database per le query sui dati: query di grandi dimensioni o inefficienti possono aumentare la latenza e il carico del database. | Ottimizza le query sui dati:rispetta le best practice generali per ottimizzare il rendimento delle query, ad esempio utilizzando l'awareness aggregata e una logica di join efficiente. |
| Definizioni LookML incomplete:l'utilizzo di campi personalizzati o calcoli tabulari a livello di dashboard rende la logica di business critica inaccessibile all'Analisi conversazionale. | Incorpora la logica personalizzata:converti i campi personalizzati o i calcoli tabulari importanti e di uso comune in dimensioni e misure LookML. |
Dati disordinati:i seguenti tipi di dati incoerenti o scarsamente strutturati rendono difficile l'interpretazione accurata delle query da parte dell'analisi conversazionale.
|
Qualità dei dati dell'indirizzo:se possibile, segnala i problemi di qualità dei dati (valori, tipi e fusi orari incoerenti) che identifichi durante la cura dei dati. Collabora con i team di data engineering per pulire i dati di origine o applicare trasformazioni nel livello ETL/di modellazione dei dati. |
Punti chiave di LookML
Tieni presente questi punti chiave quando definisci LookML per le esplorazioni che verranno utilizzate come origini dati per l'analisi conversazionale:
- Utilizza etichette chiare e precise:scegli etichette per i tuoi dati che riflettano il linguaggio utilizzato dagli utenti aziendali. Evita abbreviazioni tecniche come
"amt_usd_curr"e utilizza invece"Amount (USD)". - Attiva la mappatura perfetta:utilizza sinonimi e descrizioni per aiutare l'agente a mappare le domande degli utenti ai campi corretti.
- Centralizza i calcoli:definisci i calcoli utilizzati di frequente direttamente come dimensioni o misure LookML per garantire una singola fonte di attendibilità e ridurre la latenza.
- Semplifica il contesto: nascondi i campi tecnici o solo interni in LookML (come le chiavi esterne o gli ID non elaborati) per assicurarti che solo i campi necessari per rispondere alle domande aziendali vengano visualizzati in Analisi conversazionale. Se ti concentri solo sui campi pertinenti, riduci il rumore e migliori l'accuratezza della selezione dei campi.
- Ottimizza i dati di esempio e le query di ricerca fuzzy: definisci i valori hardcoded nel parametro
suggestionso utilizzasuggest_dimensionesuggest_exploreper query di database più efficienti. - Ottimizza le query sui dati:rispetta le best practice generali di Looker per ottimizzare il rendimento delle query, ad esempio utilizzando la consapevolezza degli aggregati e una logica di join efficiente.
Per altre best practice per scrivere codice LookML pulito ed efficiente, consulta la seguente documentazione:
- Best practice: cosa fare e cosa non fare con LookML
- Best practice: crea un'esperienza positiva per gli utenti di Looker
- Best practice: scrivere codice LookML sostenibile e gestibile
Best practice per la configurazione di un'esplorazione da utilizzare con Analisi conversazionale
Per aiutare Conversational Analytics a fornire le risposte più utili, ti consigliamo di seguire queste best practice quando definisci le esplorazioni da utilizzare come origine dati per Conversational Analytics:
- Nel codice LookML sottostante dell'esplorazione, definisci solo i campi utili per l'analisi da parte degli utenti finali.
- Assegna a ogni campo un nome e una descrizione chiari e concisi.
- Includi valori di esempio, se pertinenti. I valori di esempio sono particolarmente utili per i campi di tipo stringa.
- Valuta la possibilità di curare esplorazioni specifiche per gli agenti di dati che riutilizzano i contenuti.
- Utilizza
extendsper basarti sul codice LookML esistente e selezionare i campi necessari all'agente. In Attività di sistema, gli utenti possono vedere quali campi vengono utilizzati nelle query generate dagli agenti e decidere quali campi escludere. - Utilizza i miglioramenti LookML a livello di campo per creare descrizioni create appositamente per gli agenti, ad esempio "Utilizza il campo Ordini quando gli utenti fanno riferimento alle vendite".
- Utilizza
Best practice per la creazione di agenti di dati
Dopo aver stabilito una base solida con le best practice di LookML ed esplorazioni ben configurate, puoi creare agenti di dati per fornire esperienze conversazionali personalizzate per casi d'uso o gruppi di utenti specifici. Gli agenti di dati si connettono a un massimo di cinque esplorazioni e utilizzano istruzioni in linguaggio naturale per fornire contesto, definire la terminologia e impostare linee guida comportamentali.
Seguire le best practice durante la creazione di agenti e la stesura delle istruzioni è fondamentale per personalizzare le risposte dell'agente in modo da soddisfare le esigenze specifiche degli utenti e migliorare l'accuratezza complessiva. Queste best practice includono la progettazione di agenti specializzati per domini specifici e la scrittura di istruzioni chiare ed efficaci.
Creare agenti specializzati
Anche se può essere allettante creare un unico agente di dati globale per gestire tutte le domande aziendali, gli agenti funzionano meglio quando sono specializzati per un dominio specifico, come vendite, marketing o analisi dei prodotti. A un agente incentrato su una o poche esplorazioni strettamente correlate possono essere fornite istruzioni più precise, il che riduce l'ambiguità e migliora l'accuratezza della risposta.
Quando progetti gli agenti, evita di creare un singolo agente per gestire tutti i modelli di dati non correlati. Crea invece agenti mirati per aree aziendali distinte, collegandoti solo a esplorazioni strettamente correlate. Ad esempio, anziché un solo agente per tutti i dati aziendali, crea un "agente per le entrate" incentrato in modo specifico su Orders ed esplorazioni Transactions.
Scrivere istruzioni per l'agente efficaci
Le istruzioni dell'agente sono lo strumento principale per personalizzare il comportamento di un agente dati e infondergli la logica di business e la terminologia uniche della tua organizzazione. Considera le istruzioni come un modo per addestrare l'agente a interpretare le domande degli utenti, gestire l'ambiguità e rispondere nel modo più utile per gli utenti. Istruzioni ben scritte sono fondamentali per generare risposte accurate, pertinenti e affidabili.
Inserisci le istruzioni dell'agente nel campo Istruzioni quando crei l'agente dati. Per saperne di più sulla creazione di agenti, consulta la pagina della documentazione Creare e gestire gli agenti di dati di Explore.
Per scrivere istruzioni efficaci, segui queste best practice:
- Definisci il contesto aziendale e il comportamento predefinito: addestra l'agente alla logica e alla terminologia uniche della tua organizzazione. Utilizza le istruzioni per definire gli acronimi (ad esempio, "AY significa anno"), spiegare la logica di filtraggio comune o impostare i comportamenti predefiniti per l'ambiguità (ad esempio, "Se non viene fornito alcun
date_created, filtra gli ultimi 6 mesi"). - Utilizza la sintassi di LookML e dei filtri: quando fai riferimento a campi o applichi filtri nelle istruzioni, utilizza la sintassi di LookML (ad esempio
events.date_created) e la sintassi dei filtri (ad esempio"last 6 months"). In questo modo, l'agente comprende quali campi o filtri applicare. Ad esempio: "Quando un utente chiede informazioni sulla "regione", utilizza il campoaccount_holder.geo_region". - Utilizza query di riferimento per esempi complessi: per domande o query comuni che coinvolgono una logica di business complessa, fornisci
golden queries, ovvero coppie di domande in linguaggio naturale e le relative query Looker verificate. Le query di riferimento possono aiutare l'agente a imparare pattern specifici. Concentrati sulle query che chiariscono la terminologia complessa o le combinazioni di filtri comuni. Le query di riferimento devono essere fornite in una rappresentazione di query LookML specifica anziché in SQL non elaborato o URL di esplorazione standard. - Sii conciso: scrivi in modo chiaro ed evita parole o ripetizioni non necessarie nelle istruzioni.
- Evita la ridondanza: non duplicare le informazioni che appartengono a LookML, come le descrizioni dei campi o i sinonimi. Per saperne di più su quando definire il contesto in LookML rispetto alle istruzioni dell'agente, consulta Quando aggiungere il contesto a LookML rispetto all'analisi conversazionale. Evita anche di spiegare concetti di base che l'agente già conosce, ad esempio la differenza tra una dimensione e una misura o come eseguire il filtro di base per data.
Limitazioni delle istruzioni dell'agente
Quando scrivi le istruzioni per l'agente, tieni presente le seguenti limitazioni di Analisi conversazionale:
- Analisi conversazionale non supporta la generazione di query che contengono il parametro
pivots. Anche se Conversational Analytics può restituire dati per più dimensioni contemporaneamente, non può pivotarli in colonne separate come l'interfaccia utente di Esplora di Looker. Restituisce invece i dati in un formato "lungo" o "appiattito", in modo che i dati vengano raggruppati orizzontalmente anziché verticalmente. Analisi conversazionale non può riutilizzare i campi personalizzati definiti nei contenuti Looker esistenti (ad esempio, quando utilizzi il codice LookML generato da un'esplorazione che contiene un campo personalizzato per creare una query di riferimento) o generare nuovi campi personalizzati all'interno di una nuova query. Utilizza invece i campi LookML esistenti o Python per creare calcoli personalizzati sui risultati dei dati.
A differenza di LookML, che è governato, le istruzioni sono spesso testo in formato libero e possono diventare "inattive" man mano che il modello dei dati sottostante si evolve nel tempo.
Istruzioni dell'agente di esempio
Di seguito sono riportate alcune istruzioni di esempio per un agente dati connesso alle esplorazioni di Looker chiamate Elementi ordine e Prodotti:
# Define a persona and provide instructions on how to propose suggestions
You are a helpful data assistant. After answering the user's question, please provide 2-3 relevant follow-up questions they might be interested in exploring based on the data.
Anticipate the user's needs. Suggest potential next questions or related analyses after each response.
Always offer suggestions for deeper dives into the data.
Your tone should be professional and concise.
# Business Terms
# Define how business terms map to LookML fields or data values that can't be captured in LookML synonyms or descriptions.
Terms:
EOP: End of Period. This is the last day of the period.
LY: Last Year.
Month-over-month: This is a measure of `type: period_over_period` with `period: month`.
# Default Behaviors
# Define how to handle ambiguous or underspecified queries.
When users mention Orders, you must apply a filter of `Status` like `COMPLETED`. Consider this a **hard-coded requirement**. Do not attempt to verify this filter by querying sample values; proceed directly to the calculation using this exact string.
Defaults:
Date Filter: If no `created_date` is specified by the user, filter order_items.created_date to "last 12 months".
Product Grouping: If "group by product" is requested without specifying name or category, use `products.category`.
# Golden Queries
# Provide examples of question/query pairs for common or complex questions.
Golden Queries:
- Question: "How much revenue did we generate from successful orders in 2024?"
Looker query:
model: thelook_ecommerce
explore: order_items
fields: [order_items.total_sales]
filters: [{field: order_items.status, value: "Complete"}, {field: order_items.created_year, value: "2024"}]
# Related Fields
# Provide instructions for what other related fields the agent should fetch information from
Include parent dimensions like Category when asking for "item level" data.
Quando aggiungere il contesto a LookML anziché ad Analisi conversazionale
In Analisi conversazionale, puoi aggiungere contesto a LookML o all'interno delle istruzioni dell'agente. Quando decidi dove aggiungere il contesto, segui queste indicazioni:
- Il contesto che deve essere applicato a tutti gli utenti di un'esplorazione deve essere aggiunto direttamente al modello LookML, poiché le esplorazioni di Looker possono essere utilizzate in più posizioni, tra cui dashboard e Analisi conversazionale. Se il contesto deve essere applicato solo a determinati utenti, valuta la possibilità di utilizzare funzionalità LookML come gli attributi utente per creare esperienze personalizzate.
- Dai la priorità a LookML per i metadati specifici del campo e i requisiti rigidi. Inserisci i metadati specifici del campo, inclusi sinonimi e descrizioni, direttamente in LookML anziché nelle istruzioni dell'agente. I requisiti per elementi come i valori predefiniti dei filtri o i campi nascosti devono essere gestiti idealmente in LookML per garantire che vengano rispettati.
- Non duplicare le informazioni che l'agente già conosce, ad esempio come creare una query di Looker, una spiegazione di dimensioni o misure, le esplorazioni accessibili o come eseguire il filtraggio di base delle date. Allo stesso modo, non definire lo stesso termine sia in LookML sia nelle istruzioni dell'agente.
Il contesto dell'agente deve essere qualitativo e incentrato sull'utente. Inoltre, da un'unica esplorazione possono essere disponibili molti agenti che servono utenti diversi. LookML è utile per definire che cos'è un campo, ma in genere non può definire la strategia aziendale o i calcoli predittivi. Di seguito sono riportati alcuni esempi di contesto da includere nelle istruzioni dell'agente, ma non in LookML:
- Chi è l'utente che interagisce con l'agente? Che ruolo ricopre? Sono interni o esterni all'azienda? Qual è la sua precedente esperienza di analisi?
- Qual è l'obiettivo dell'utente? Che tipo di decisione vuole prendere al termine della conversazione?
- Quali tipi di domande farà questo utente?
- Quali campi sono più pertinenti per questo utente? Ad esempio, quali campi devono essere accessibili a questo utente, se devono essere sempre applicati determinati filtri o se alcuni campi devono avere la priorità per questo utente.