1. Hinweis
In diesem Codelab erfahren Sie, wie Sie die Conversational Analytics API (CA API) mit Looker verwenden, um eine eigene Chatanwendung zum Abfragen von Daten zu erstellen. Um den größtmöglichen Nutzen zu erzielen, sollten Sie sich mit BigQuery, Looker, LLMs und Agents sowie Python auskennen.
Lerninhalte
Nach Abschluss dieses Codelabs haben Sie Folgendes gelernt:
- Konversationelle Analysen mit Looker verwenden
- Conversational Analytics Python-Schnellstart-App einrichten und verwenden (und Funktionsweise der App)
- Vorteile der Verwendung von Looker für die semantische Modellierung mit Conversational Analytics
Voraussetzungen
Für dieses Codelab benötigen Sie Folgendes:
- Eine Looker-Instanz, auf der der ASC Demographic Data Looker Block installiert ist
- API- und Entwicklerzugriff auf Ihre Looker-Instanz
- Eine lokale Umgebung mit Python 3.11+, Git und gcloud.
- Ein Cloud-Projekt mit diesen IAM-Rollen, die für Ihr Nutzerkonto eingerichtet sind:
roles/bigquery.dataViewerBigQuery-Datenbetrachterroles/bigquery.userBigQuery-Nutzerroles/looker.instanceUserLooker Instance User
2. Chat-App mit BigQuery erstellen und testen
Richten wir zuerst die Conversational Analytics-Kurzanleitung ein und probieren wir sie aus. BigQuery soll dabei als Datenquelle dienen.
Cloud-APIs authentifizieren und aktivieren
- Lokale Authentifizierung mit Ihrem Nutzerkonto:
gcloud auth login
- Aktivieren Sie Cloud-Projekt-APIs. Ersetzen Sie
YOUR_PROJECT_IDdurch die ID Ihres Google Cloud-Projekts:
gcloud services enable geminidataanalytics.googleapis.com bigquery.googleapis.com cloudaicompanion.googleapis.com --project=YOUR_PROJECT_ID
- Standardanmeldedaten für Anwendungen (Application Default Credentials, ADC) und Abrechnung festlegen:
gcloud auth application-default login
gcloud auth application-default set-quota-project YOUR_PROJECT_ID
Schnellstart-App einrichten
- Klonen Sie das GitHub-Repository für den Schnellstart in Ihre lokale Umgebung. Hier ein Beispielbefehl:
git clone "https://github.com/looker-open-source/ca-api-quickstarts"
- Wechseln Sie zum geklonten Verzeichnis
ca-api-quickstarts:
cd ca-api-quickstarts
- Erstellen Sie im Verzeichnis
.streamliteine Dateisecrets.toml.YOUR_LOOKER_CLIENT_IDundYOUR_LOOKER_CLIENT_SECRETsollten Ihre Looker-Client-ID und Ihr Looker-Clientschlüssel aus Ihrer Looker-Instanz sein. Der Inhalt der Datei sollte so aussehen:
[cloud]
project_id = "YOUR_PROJECT_ID"
[looker]
client_id = "YOUR_LOOKER_CLIENT_ID"
client_secret = "YOUR_LOOKER_CLIENT_SECRET"
Mit dem folgenden Beispielbefehl können Sie die Datei erstellen. Ersetzen Sie die Werte durch Ihre Projekt-ID, Client-ID und Ihr 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
- Installieren Sie die Python-Anforderungen der Schnellstart-App:
pip install -r requirements.txt
- Führen Sie die Schnellstart-App aus:
streamlit run app.py
- Öffnen Sie https://localhost:8501 in Ihrem bevorzugten Browser.
Kurzanleitung ausprobieren
Sie befinden sich jetzt auf der Agents-Seite der Schnellstart-App. Sie haben keine Daten-Agents verfügbar.
- Erstellen wir nun einen Datenagenten, der wie ein Pirat spricht. Verwenden Sie dazu das Formular Agent erstellen:
- Legen Sie das Feld Anzeigename fest:
Pirate BQ Agent
- Legen Sie das Feld Systemanweisungen fest:
You are a pirate. Answer questions like a pirate
- Wählen Sie die Option BigQuery aus.
- Legen Sie das Feld Projekt fest:
bigquery-public-data
- Legen Sie das Feld Dataset fest:
google_trends
- Legen Sie das Feld Tabelle fest:
top_rising_terms
- Wählen Sie Agent erstellen aus.
- Rufen wir nun über die linke Hauptnavigation die Chatseite auf. Unser neu erstellter Kundenservicemitarbeiter ist für den Chat verfügbar. Wir beginnen einen Chat, indem wir eine Aufforderung/Nachricht hinzufügen: „Hallo, wie geht es dir?“
- Sehen wir uns diesen Datensatz nun etwas genauer an: „Worum geht es in diesem Datensatz?“
- Stellen Sie eine weitere Frage, z. B.:
- „Welche Standorte für [Bundesstaat eingeben] sind im Datensatz enthalten?“
- „Kannst du mir die Daten der letzten zwei Wochen für [Stadt, Bundesstaat?] geben?“
- „Kannst du eine Visualisierung erstellen?“
Sie haben gerade eine Konversation mit mehreren Zügen mit Ihrem Daten-Agenten und Ihren BigQuery-Daten in Ihrer eigenen Chatanwendung geführt.
3. Daten in Looker modellieren und analysieren
Jetzt modellieren und untersuchen wir dieselben BigQuery-Daten in Looker.
BigQuery-Zensusdaten abfragen
Was passiert, wenn wir eine Verbindung zu einem größeren relationalen Datensatz herstellen? Zuerst erstellen wir einen neuen Agent.
- Kehren Sie zur Seite mit den KI-Agenten zurück und rufen Sie das Formular KI-Agenten erstellen auf.
- Legen Sie das Feld Anzeigename fest:
BQ Census Agent
- Legen Sie das Feld Systemanweisungen fest:
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
- Wählen Sie die Option BigQuery aus.
- Legen Sie das Feld Projekt fest:
bigquery-public-data
- Legen Sie das Feld Dataset fest:
census_bureau_acs
- Legen Sie das Feld Tabelle fest:
blockgroup_2018_5yr
- Wählen Sie Agent erstellen aus.
- Stellen Sie dem neu erstellten Agent beide Fragen:
- „Welche Daten haben Sie?“
- „Can you show me a preview of my data?“ (Kannst du mir eine Vorschau meiner Daten zeigen?)
Volkszählungsdaten mit Looker modellieren
Als Nächstes verwenden wir ein LookML-Modell, um die BigQuery-Volkszählungsdaten zu definieren. Wir werden die Probleme lösen, die wir gerade gesehen haben.
- Bei Ihrer Looker-Instanz anmelden
- Rufen Sie die ACS-Demografiedatenblockdateien auf, indem Sie in der linken Hauptnavigation Entwickeln und dann marketplace_acs_census-v2 auswählen.
- Sehen wir uns eine Looker-Ansicht an. Öffnen Sie das Verzeichnis
imported_project, das Verzeichnisacs_census-v2und das Verzeichnisgeography. - Öffnen Sie schließlich die Datei
cbsa.view. - In Zeile 17 sehen wir, dass mit dem LookML-Code eine abgeleitete Tabelle erstellt wird. Mit diesem Code wird also eine neue, kombinierte Tabelle erstellt, indem zwei öffentliche BigQuery-Datasets zusammengeführt werden: eines mit Volkszählungsdaten und eines mit geografischen Grenzdaten. Mit LookML können wir mehrere Datasets verknüpfen, indem wir eine persistente abgeleitete Tabelle erstellen, die abgefragt werden kann.
Außerdem wird der Join in versionierbarem Code (LookML) anstelle von Systemanweisungen definiert, was die Agent-Entwicklung skalierbarer macht. Mit LookML können Sie bestimmte Annahmen und Einschränkungen für Ihre Daten definieren, um Ihre Nutzer bei der Interaktion mit Ihren Daten über einen Daten-Agenten zu unterstützen.
Geschätzte Volkszählungsdaten in Looker ansehen
Wir führen eine kurze Abfrage in einem Explore aus, um zu zeigen, dass wir eine zentrale Datenquelle für Abfragen haben.
- Wählen Sie im linken Hauptnavigationsmenü Erkunden, dann Census Data Block und dann State and County aus.
- Wählen Sie die Maßzahl Education > Associates Degree aus.
- Wählen Sie die folgenden Dimensionen aus:
- Region > Blockgruppe
- Geografie > Landkreis > Name des Landkreises
- Region > Bundesstaat > Bundesstaat.
- Führen Sie die Abfrage aus (rechts oben). Die geografischen IDs (als „Block Group“ bezeichnet) sind jetzt mit lesbaren Strings verknüpft.
- Öffnen Sie den Tab „Visualisierung“. Dort werden die Daten auf einer Karte angezeigt.
4. Chat-App mit Looker ausprobieren
Erstellen wir nun einen KI-Datenagenten für Looker.
- Rufen Sie das Formular KI-Agenten erstellen auf der Agent-Seite Ihrer Schnellstart-App auf:
- Legen Sie das Feld Anzeigename fest:
Cartoon character data analyst
- Legen Sie das Feld Systemanweisung fest:
You are [fill in your favorite cartoon character, Bugs Bunny is a favorite]. Answer questions like that cartoon character
- Wählen Sie die Option Looker aus.
- Legen Sie das Feld Url auf die URL Ihrer Looker-Instanz fest: „https://...“
- Legen Sie das Feld Modell fest:
data_block_acs_bigquery
- Legen Sie das Feld Untersuchen fest:
cbsa
- Wählen Sie Agent erstellen aus.
- Rufen Sie die Chatseite auf und wählen Sie den neu erstellten Agent aus.
- Wir beginnen einen Chat, indem wir eine Aufforderung/Nachricht hinzufügen: „Hallo, wie geht es dir?“
- Wir bitten den Agenten, den Datensatz zu beschreiben: „Welche Daten sind verfügbar?“
- Stellen wir noch ein paar Fragen:
- „Welcher Bezirk in New York hat die größte Bevölkerung?“
- „What about the most graduates from high school per capita?“
- „Kannst du mir die Bevölkerung nach Geschlecht und Bundesstaat nennen?“
- „Ich möchte ein Balkendiagramm der zehn Bundesstaaten mit der höchsten Bevölkerungszahl sehen.“
5. Was kann die Quickstart-App noch?
Sie haben jetzt:
- Chat-App lokal einrichten
- BigQuery-Daten-Agent und Looker-Daten-Agent erstellt
- Gespräche mit Ihren Datenagenten geführt
- Sie haben die Vorteile der semantischen Modellierung in Looker als Kontext für Ihre Chats kennengelernt.
Sehen wir uns die anderen Funktionen der Kurzanleitungs-App an:
- Laden Sie die Webseite der Schnellstart-App neu und rufen Sie die Chatseite auf.
- Sie können sich Ihre bisherigen Unterhaltungen mit allen zugehörigen Nachrichten von Ihren BigQuery- und Looker-KI-Agents ansehen. Im Frontend der App werden die bisherigen Unterhaltungen oder Nachrichten nicht gespeichert, sondern über die CA API abgerufen.
- Rufen Sie nun die Seite „Agents“ auf und wählen Sie Ihren Looker-Agent aus der Liste aus.
- Sie können die Konfigurationen des KI-Agents aktualisieren oder den Agent löschen. Im Frontend der App werden keine Kundenservicemitarbeiter gespeichert.
6. Optionale Aufgaben und weitere Analysen
Wenn Sie möchten, können Sie sich jetzt mit Conversational Analytics und der Schnellstart-App vertraut machen. Oder Sie können versuchen, die Schnellstart-App zu ändern. Sie können einige der folgenden Vorschläge und Aufgaben ausprobieren oder direkt zum letzten Abschnitt springen.
Mit der CA API und der Kurzanleitung-App vertraut machen
- Weitere Informationen zu detaillierten Systemanweisungen zum Steuern des Verhaltens Ihres Agenten
- Richten Sie einen weiteren Daten-Agent ein, der auf ein neues BigQuery-Dataset verweist.
- Installieren Sie einen neuen Looker-Block in Ihrer Looker-Instanz, erstellen Sie einen Agent und verweisen Sie ihn auf ein neues Looker-Dataset.
Herausforderungen bei der Änderung von Schnellstart-Apps
- Kennen Sie sich mit dem Einbetten von Looker aus? Wenn ja, versuchen Sie, ein Looker-Dashboard in die Schnellstart-App einzubetten. Verwenden Sie dazu die Iframe-Komponente von Streamlit.
- Suchen Sie nach einem öffentlichen Dataset mit Video-URLs und aktualisieren Sie die Chat-Rendering-Logik der App, um ein Video im Chat anzuzeigen.
7. Fazit und wichtige Punkte
Du hast es geschafft. Sie haben eine Chat-App erstellt, KI-Datenagenten erstellt und mit Ihren Daten gechattet – alles mit der Conversational Analytics API. Sehen wir uns einige wichtige Funktionen und Konzepte an.
Funktionen der konversationellen Analyse
Wir haben viele Funktionen von Conversational Analytics behandelt, z. B. die Möglichkeit,
- Daten-Agents erstellen, aktualisieren, auflisten, abrufen und löschen.
- Weisen Sie KI-Datenagenten entweder BigQuery oder Looker als Datenquelle zu.
- Unterhaltungen und die zugehörigen Nachrichten erstellen, auflisten und abrufen.
- Vega-Diagrammspezifikationen für immersive Visualisierungen in Unterhaltungen erstellen.
- Verwenden Sie frühere Nachrichten in einer Unterhaltung als nützlichen Kontext für zukünftige Nachrichten.
Vorteile der Verwendung von Looker mit der CA API
Looker bietet eine zentrale, testbare und kontrollierbare semantische Modellierung Ihrer Daten. In Kombination mit der konversationellen Analyse bietet Looker eine skalierbare Möglichkeit, Kontext für Ihre Daten-Agents bereitzustellen.
Nächste Schritte
- Weitere Anleitungen, Funktionen und Anwendungsfälle finden Sie in der Dokumentation zu Conversational Analytics.
- Bleiben Sie mit dem Repository für die Schnellstartanwendung auf dem Laufenden und tragen Sie dazu bei.