1. Prima di iniziare
Questo codelab ti guiderà nell'utilizzo dell'API Conversational Analytics (API CA) con Looker per creare la tua applicazione di chat per interrogare i dati. Per ottenere il massimo valore, devi avere familiarità con BigQuery, Looker, LLM e agenti e Python.
Cosa imparerai a fare
Dopo aver seguito questo codelab, avrai imparato:
- Come utilizzare Analisi conversazionale con Looker
- Come configurare e utilizzare l'app di avvio rapido Python Conversational Analytics (e come funziona l'app)
- I vantaggi dell'utilizzo di Looker per la modellazione semantica con Conversational Analytics
Che cosa ti serve
Per completare questo codelab, ti serviranno:
- Un'istanza di Looker con il Looker Block Dati demografici ASC installato
- Accesso all'API e agli sviluppatori alla tua istanza Looker
- Un ambiente locale con Python v3.11+, Git e gcloud installati.
- Un progetto cloud con questi ruoli IAM configurati per il tuo account utente:
roles/bigquery.dataViewerVisualizzatore dati BigQueryroles/bigquery.userUtente BigQueryroles/looker.instanceUserUtente istanza Looker
2. Crea e prova la tua app di chat con BigQuery
Innanzitutto, configuriamo e proviamo l'app di avvio rapido Conversational Analytics con BigQuery come origine dati.
Autenticare e abilitare le API Cloud
- Esegui l'autenticazione localmente con il tuo account utente:
gcloud auth login
- Abilita le API del progetto Cloud. Sostituisci
YOUR_PROJECT_IDcon l'ID del tuo progetto Google Cloud:
gcloud services enable geminidataanalytics.googleapis.com bigquery.googleapis.com cloudaicompanion.googleapis.com --project=YOUR_PROJECT_ID
- Imposta le credenziali predefinite dell'applicazione (ADC) e la fatturazione:
gcloud auth application-default login
gcloud auth application-default set-quota-project YOUR_PROJECT_ID
Configurare l'app di avvio rapido
- Clona il repository GitHub della guida rapida nel tuo ambiente locale. Vedi il seguente comando di esempio:
git clone "https://github.com/looker-open-source/ca-api-quickstarts"
- Vai alla directory
ca-api-quickstartsche hai clonato:
cd ca-api-quickstarts
- Crea un file
secrets.tomlnella directory.streamlit.YOUR_LOOKER_CLIENT_IDeYOUR_LOOKER_CLIENT_SECRETdevono essere l'ID client e il client secret di Looker della tua istanza Looker. I contenuti del file devono essere i seguenti:
[cloud]
project_id = "YOUR_PROJECT_ID"
[looker]
client_id = "YOUR_LOOKER_CLIENT_ID"
client_secret = "YOUR_LOOKER_CLIENT_SECRET"
Puoi utilizzare il seguente comando di esempio per creare il file. Assicurati di sostituire i valori con l'ID progetto, l'ID client e il client secret:
cat > .streamlit/secrets.toml <<'EOF'
[cloud]
project_id = "YOUR_PROJECT_ID"
[looker]
client_id = "YOUR_LOOKER_CLIENT_ID"
client_secret = "YOUR_LOOKER_CLIENT_SECRET"
EOF
- Installa i requisiti Python dell'app di avvio rapido:
pip install -r requirements.txt
- Esegui l'app di avvio rapido:
streamlit run app.py
- Apri https://localhost:8501 nel browser che preferisci.
Prova l'app di avvio rapido
Ora ti trovi nella pagina degli agenti dell'app di avvio rapido. Non hai agenti di dati disponibili.
- Ora creiamo un agente dati che parli come un pirata nel modulo Crea agente:
- Imposta il campo Nome visualizzato:
Pirate BQ Agent
- Imposta il campo Istruzioni di sistema:
You are a pirate. Answer questions like a pirate
- Seleziona l'opzione BigQuery.
- Imposta il campo Progetto:
bigquery-public-data
- Imposta il campo Dataset:
google_trends
- Imposta il campo Table (Tabella):
top_rising_terms
- Seleziona Crea agente.
- Ora passiamo alla pagina della chat tramite il menu di navigazione principale a sinistra. Il nostro nuovo agente è disponibile per la chat. Iniziamo una chat aggiungendo un prompt/messaggio: "Ciao, come stai?"
- Ora scopriamo qualcosa di più su questo set di dati: "Che cosa contiene questo set di dati?"
- Poni un'altra domanda, ad esempio:
- "Quali località di [inserisci stato] sono presenti nel set di dati?"
- "Puoi darmi i dati delle ultime due settimane per [città, stato]?"
- "Puoi creare una visualizzazione?"
Hai appena avuto una conversazione in più turni con il tuo agente di dati e i tuoi dati BigQuery nella tua applicazione di chat.
3. Modellare ed esplorare i dati in Looker
Ora modelliamo ed esploriamo gli stessi dati BigQuery in Looker.
Esegui query sui dati del censimento di BigQuery
Cosa succede quando ci connettiamo a un set di dati relazionale più grande? Per prima cosa, creiamo un nuovo agente.
- Torna al modulo Crea agente della pagina degli agenti.
- Imposta il campo Nome visualizzato:
BQ Census Agent
- Imposta il campo Istruzioni di sistema:
You are really excited about census data, you love learning about the demographics in your area because you want to come up with marketing campaigns for your company
- Seleziona l'opzione BigQuery.
- Imposta il campo Progetto:
bigquery-public-data
- Imposta il campo Dataset:
census_bureau_acs
- Imposta il campo Table (Tabella):
blockgroup_2018_5yr
- Seleziona Crea agente.
- Poni all'agente appena creato entrambe le domande:
- "Quali dati hai?"
- "Puoi mostrarmi un'anteprima dei miei dati?"
Utilizzare Looker per modellare i dati del censimento
Ora utilizzeremo un modello LookML per definire i dati del censimento di BigQuery. Risolviamo i problemi che abbiamo appena visto.
- Accedi all'istanza di Looker.
- Vai ai file del blocco di dati demografici ACS selezionando Sviluppa nel menu di navigazione principale a sinistra e poi marketplace_acs_census-v2.
- Diamo un'occhiata a una visualizzazione di Looker. Apri la directory
imported_project, la directoryacs_census-v2e la directorygeography. - Infine, apri il file
cbsa.view. - Alla riga 17, possiamo vedere che LookML sta creando una tabella derivata. In altre parole, questo codice crea una nuova tabella combinata unendo due set di dati pubblici BigQuery, uno con i dati del censimento e l'altro con i dati dei confini geografici. LookML ci consente di unire più set di dati creando una tabella derivata persistente su cui eseguire query.
Inoltre, l'unione è definita nel codice controllabile in base alla versione (LookML) anziché nelle istruzioni di sistema, il che rende lo sviluppo di agenti più scalabile. Con LookML, puoi definire ipotesi e vincoli specifici relativi ai tuoi dati per supportare gli utenti mentre interagiscono con i dati tramite un agente dati.
Esplorare i dati censuari modellati di Looker
Eseguiamo una query rapida in un'esplorazione per dimostrare che abbiamo un'unica origine dati centralizzata da interrogare.
- Nel menu di navigazione principale a sinistra, seleziona Esplora, poi Blocco di dati del censimento e infine Stato e contea.
- Seleziona la misura Istruzione > Diploma di scuola superiore.
- Seleziona le seguenti dimensioni:
- Area geografica > Gruppo di isolati
- Area geografica > Contea > Nome della contea
- Area geografica > Stato > Stato.
- Esegui la query (in alto a destra) e vedrai che gli ID geografici (chiamati "Gruppo di isolati") sono ora associati a stringhe leggibili.
- Apri la scheda di visualizzazione e vedrai questi dati in una mappa.
4. Provare l'app di chat con Looker
Ora creiamo un agente dati per Looker.
- Vai al modulo Crea agente della pagina dell'agente dell'app di avvio rapido:
- Imposta il campo Nome visualizzato:
Cartoon character data analyst
- Imposta il campo Istruzioni di sistema:
You are [fill in your favorite cartoon character, Bugs Bunny is a favorite]. Answer questions like that cartoon character
- Seleziona l'opzione Looker.
- Imposta il campo Url sull'URL dell'istanza di Looker: "https://..."
- Imposta il campo Modello:
data_block_acs_bigquery
- Imposta il campo Esplora:
cbsa
- Seleziona Crea agente.
- Vai alla pagina della chat e seleziona l'agente appena creato.
- Iniziamo una chat aggiungendo un prompt/messaggio: "Ciao, come stai?"
- Chiediamo all'agente di descrivere il set di dati: "Quali dati sono disponibili?"
- Poniamo altre domande:
- "Quale contea di New York ha la popolazione più numerosa?"
- "E per quanto riguarda il maggior numero di diplomati delle scuole superiori pro capite?"
- "Puoi darmi la popolazione per genere e stato?"
- "Vorrei vedere un grafico a barre dei 10 stati con la popolazione più numerosa".
5. Cos'altro può fare l'app di avvio rapido?
Ora hai:
- Configurare l'app di chat localmente
- È stato creato un agente dati BigQuery e un agente dati Looker
- Conversazioni con gli agenti dei dati
- Scoperto i vantaggi della modellazione semantica di Looker come contesto per le tue chat
Proviamo le altre funzionalità dell'app di avvio rapido:
- Ricarica la pagina web dell'app di avvio rapido e vai alla pagina della chat.
- Puoi visualizzare le conversazioni passate con tutti i rispettivi messaggi degli agenti BigQuery e Looker. Il frontend dell'app non memorizza le conversazioni o i messaggi passati, ma li recupera dall'API CA.
- Ora vai alla pagina degli agenti e seleziona il tuo agente Looker dall'elenco.
- Puoi aggiornare le configurazioni dell'agente o eliminarlo, se vuoi. Nessun agente viene memorizzato nel frontend dell'app.
6. Sfide facoltative ed esplorazione più approfondita
Se vuoi, puoi cogliere l'occasione per familiarizzare con Conversational Analytics e l'app di avvio rapido. In alternativa, puoi provare a modificare l'app di avvio rapido. Puoi provare alcuni dei suggerimenti e delle sfide riportati di seguito o passare direttamente alla sezione finale.
Acquisire maggiore familiarità con l'API CA e l'app di avvio rapido
- Scopri di più sulle istruzioni di sistema approfondite per controllare il comportamento dell'agente.
- Configura un altro agente dati che rimandi a un nuovo set di dati BigQuery.
- Installa un nuovo blocco Looker nell'istanza di Looker, crea un agente e indirizzalo a un nuovo set di dati di Looker.
Sfide relative alla modifica rapida dell'app
- Conosci l'incorporamento di Looker? In questo caso, prova a incorporare una dashboard Looker all'interno dell'app di avvio rapido. Valuta la possibilità di utilizzare il componente iframe di Streamlit.
- Trova un set di dati pubblico contenente URL di video e aggiorna la logica di rendering della chat dell'app per mostrare un video nella chat.
7. Conclusione e punti chiave
Hai risposto fino all'ultima domanda! Hai creato un'app di chat, agenti di dati e chattato con i tuoi dati utilizzando l'API Conversational Analytics. Rivediamo alcune funzionalità e concetti chiave.
Funzionalità di Analisi conversazionale
Abbiamo esaminato molte delle funzionalità di analisi conversazionale, come la possibilità di:
- Crea, aggiorna, elenca, recupera ed elimina agenti di dati.
- Indica agli agenti di dati BigQuery o Looker come origine dati.
- Crea, elenca e recupera conversazioni e i rispettivi messaggi.
- Produci specifiche del grafico Vega per la visualizzazione immersiva nelle conversazioni.
- Utilizzare i messaggi passati in una conversazione come contesto utile per i messaggi futuri.
Vantaggi dell'utilizzo di Looker con l'API CA
Looker offre una modellazione semantica centralizzata, verificabile e governabile dei tuoi dati. In combinazione con l'analisi conversazionale, Looker offre un modo scalabile per fornire il contesto per gli agenti di dati.
Passaggi successivi
- Per ulteriori guide, funzionalità e casi d'uso, consulta la documentazione di Conversational Analytics.
- Rimani al passo con gli aggiornamenti e contribuisci al repository dell'applicazione di avvio rapido.