Hinzufügen einer Genie Space-Ressource zu einer Databricks-App

Fügen Sie Genie Spaces als Databricks Apps-Ressourcen hinzu, um die Abfrage natürlicher Sprachen in Ihren Anwendungen zu ermöglichen. Genie Spaces bietet eine Unterhaltungsschnittstelle für die Datensuche, sodass Benutzer Geschäftsfragen in einfachem Englisch stellen und SQL-basierte Einblicke aus Ihren kuratierten Datasets erhalten können.

Wenn Sie einen Genie Space als Ressource hinzufügen, kann Ihre App:

  • Konvertieren von Abfragen natürlicher Sprache von Benutzern in SQL
  • Zugreifen auf vorkonfigurierte Geschäftskontext und Metadaten
  • Verwenden von kuratierten Beispielabfragen und Datendefinitionen
  • Generieren von Antworten basierend auf den Datasets Ihrer Organisation

Hinzufügen einer Genie Space-Ressource

Bevor Sie einen Genie Space als Ressource hinzufügen, überprüfen Sie die Voraussetzungen für die App-Ressource.

  1. Klicken Sie im Abschnitt "App-Ressourcen " beim Erstellen oder Bearbeiten einer App auf +Ressource>Genie Space hinzufügen.
  2. Wählen Sie einen Genie Space aus der Liste der verfügbaren Räume in Ihrem Arbeitsbereich aus.
  3. Wählen Sie die Berechtigungsstufe für Ihre App aus:
    • Kann anzeigen: Gewährt der App die Berechtigung zum Lesen der Genie Space-Konfiguration und -Metadaten.
    • Kann ausgeführt werden: Erteilt der App die Berechtigung, Abfragen an den Genie Space zu übermitteln und Antworten zu erhalten.
    • Kann bearbeiten: Erteilt der App die Berechtigung zum Ändern der Genie Space-Konfiguration.
    • Kann verwalten: Gewährt der App voll administrativen Zugriff auf den Genie Space.
  4. (Optional) Geben Sie einen benutzerdefinierten Ressourcenschlüssel an, mit dem Sie in Ihrer App-Konfiguration auf den Genie Space verweisen. Der Standardschlüssel ist genie-space.

Wenn Sie eine Genie Space-Ressource hinzufügen:

  • Azure Databricks gewährt dem Dienstprinzipal die angegebenen Berechtigungen für den ausgewählten Genie Space.
  • Die App kann Abfragen in natürlicher Sprache an den Raum übermitteln und strukturierte Antworten mit SQL-Abfragen und -Ergebnissen empfangen.
  • Die App greift auf den kuratierten Geschäftskontext des Raums zu, einschließlich Metadaten, Beispielabfragen und Datendefinitionen.
  • Der Zugriff ist nur auf den ausgewählten Bereich beschränkt. Ihre App kann nicht auf andere Genie Spaces zugreifen, es sei denn, Sie fügen sie als separate Ressourcen hinzu.

Hinweis

Der Dienstprinzipal der App benötigt auch entsprechende Berechtigungen für die zugrunde liegenden Datenquellen, die der Genie Space abfragen kann. Dies umfasst USE CATALOG-, USE SCHEMA- und SELECT-Berechtigungen für die relevanten Unity-Katalogtabellen und -ansichten.

Umgebungsvariablen

Wenn Sie eine App mit einer Genie Space-Ressource bereitstellen, macht Azure Databricks die Raum-ID über Umgebungsvariablen verfügbar, auf die Sie mithilfe des Felds valueFrom in Ihrer app.yaml-Konfiguration verweisen können.

Beispielkonfiguration:

env:
  - name: GENIE_SPACE_ID
    valueFrom: genie-space # Use your custom resource key if different

Verwenden der Leerzeichen-ID in Ihrer Anwendung:

import os
from databricks.sdk import WorkspaceClient

# Access the Genie Space using the injected environment variable
space_id = os.getenv("GENIE_SPACE_ID")

# Initialize the workspace client
w = WorkspaceClient()

# Start a conversation with a natural language query
response = w.genie.start_conversation_and_wait(
    space_id=space_id,
    content="What were our top-selling products last quarter?"
)

# Process the response (responses contain attachments with text, queries, and so on)
for attachment in response.attachments:
    print(f"Genie response: {attachment.text.content}")

# Continue the conversation with additional questions
follow_up = w.genie.create_message_and_wait(
    space_id=space_id,
    conversation_id=response.conversation_id,
    content="Can you break that down by product category?"
)

Weitere Informationen finden Sie unter Zugriff auf Umgebungsvariablen von Ressourcen.

Entfernen einer Genie Space-Ressource

Wenn Sie eine Genie Space-Ressource aus einer App entfernen, verliert der Dienstprinzipal der App den Zugriff auf den Raum. Der Genie Space selbst bleibt unverändert und steht weiterhin für andere Benutzer und Anwendungen zur Verfügung, die über entsprechende Berechtigungen verfügen.

Kombinieren von Genie Spaces mit anderen App-Ressourcen

Kombinieren Sie Genie Spaces mit anderen Databricks Apps-Ressourcen, um anspruchsvollere Datenanwendungen zu erstellen. Zu den allgemeinen Integrationsmustern gehören:

Dashboard für die Analyse natürlicher Sprachen

Verwenden Sie die folgenden Ressourcen zusammen, um interaktive Analysen auszuführen:

  • Genie Space: Konvertiert Benutzerfragen in SQL-Abfragen
  • SQL Warehouse: Führt die Abfragen aus und gibt Ergebnisse für die Visualisierung zurück.
  • Geheimnisse: Speichert API-Schlüssel für externe Visualisierungstools

Beispielkonfiguration:

env:
  - name: GENIE_SPACE_ID
    valueFrom: genie-space
  - name: SQL_WAREHOUSE_ID
    valueFrom: sql-warehouse
  - name: EXTERNAL_API_KEY
    valueFrom: viz-secret

KI-erweiterte Business Intelligence

Verwenden Sie die folgenden Ressourcen, um in KI-Modelle zu integrieren:

  • Genie Space: Generiert den anfänglichen Abfrage- und Datenkontext.
  • Modell, das Endpunkt bedient: Gibt KI-generierte Zusammenfassungen und Empfehlungen zurück.
  • SQL Warehouse: Führt komplexe analytische Abfragen aus.

Dienstprinzipalberechtigungen

Gewähren Sie dem Dienstprinzipal Ihrer App die folgenden Berechtigungen, wenn die Integration mit anderen App-Ressourcen erfolgt:

  • CAN RUN auf dem Genie Space
  • CAN USE auf dem SQL-Datenlager (wenn ein separates vom Genie Space verwendet wird)
  • CAN QUERY auf Modellbereitstellungsendpunkten
  • USE CATALOG und USE SCHEMA bei relevanten Objekten im Unity Catalog
  • SELECT in Tabellen, die die App direkt abfragt

Bewährte Methoden

Befolgen Sie diese bewährten Methoden, wenn Sie mit Genie Space-Ressourcen arbeiten:

  • Erteilen Sie minimale Berechtigungen. Bieten Sie nur Zugriff auf die spezifischen Genie Spaces, die Ihre App zum Funktionieren benötigt.
  • Stellen Sie sicher, dass der Genie Space gut kuratierte Datasets und Metadaten enthält, um die Qualität von Abfragen in natürlicher Sprache zu verbessern.
  • Testen Sie die Abfragen Ihrer App anhand des Genie Space, um zu überprüfen, ob sie genaue Ergebnisse für erwartete Benutzerfragen generieren kann.
  • Überwachen Sie die Abfrageleistung, und passen Sie die Interaktionsmuster Ihrer App mit dem Genie Space an, um Die Reaktionszeiten zu optimieren.
  • Implementieren Sie die Fehlerbehandlung für Fälle, in denen der Genie Space benutzerabfragen nicht effektiv interpretieren oder beantworten kann.