Ajouter une ressource Genie Space à une application Databricks

Ajoutez Genie Spaces en tant que ressources Databricks Apps pour activer l’interrogation en langage naturel dans vos applications. Genie Spaces fournit une interface conversationnelle pour l’exploration des données, ce qui permet aux utilisateurs de poser des questions professionnelles en anglais brut et de recevoir des insights SQL à partir de vos jeux de données organisés.

Lorsque vous ajoutez un espace Génie en tant que ressource, votre application peut :

  • Convertir des requêtes en langage naturel provenant des utilisateurs en SQL
  • Accéder au contexte et aux métadonnées métier préconfigurés
  • Utiliser des exemples de requêtes organisés et des définitions de données
  • Générer des réponses en fonction des jeux de données de votre organisation

Ajouter une ressource Genie Space

Avant d’ajouter un espace Génie en tant que ressource, passez en revue les prérequis de la ressource d’application.

  1. Dans la section Ressources de l’application lorsque vous créez ou modifiez une application, cliquez sur + Ajouter ressource>une ressource Espace Génie.
  2. Choisissez un espace Génie dans la liste des espaces disponibles dans votre espace de travail.
  3. Sélectionnez le niveau d’autorisation de votre application :
    • Peut afficher : Accorde à l’application l’autorisation de lire la configuration et les métadonnées de l’espace Génie.
    • Peut s’exécuter : Octroie à l’application l’autorisation d’envoyer des requêtes à l’espace Génie et de recevoir des réponses.
    • Peut modifier : Octroie à l’application l’autorisation de modifier la configuration de l’espace Génie.
    • Peut gérer : Accorde à l’application un accès administratif complet à l’espace Génie.
  4. (Facultatif) Spécifiez une clé de ressource personnalisée, qui est la façon dont vous référencez l’espace Génie dans la configuration de votre application. La clé par défaut est genie-space.

Quand vous ajoutez une ressource Genie Space :

  • Azure Databricks accorde le principal service de votre application les autorisations spécifiées sur l'espace Génie sélectionné.
  • L’application peut envoyer des requêtes en langage naturel à l’espace et recevoir des réponses structurées avec des requêtes et des résultats SQL.
  • L’application accède au contexte métier organisé de l’espace, notamment les métadonnées, les exemples de requêtes et les définitions de données.
  • L’accès est limité à l’espace sélectionné uniquement. Votre application ne peut pas accéder à d’autres Génie Spaces, sauf si vous les ajoutez en tant que ressources distinctes.

Note

Le principal de service de l'application a également besoin des autorisations appropriées sur les sources de données sous-jacentes que les requêtes de Genie Space interrogent. Cela inclut généralement USE CATALOG, USE SCHEMA et SELECT les autorisations sur les tables et vues pertinentes du Unity Catalog.

Variables d’environnement

Lorsque vous déployez une application avec une ressource Genie Space, Azure Databricks expose l’ID d’espace via des variables d’environnement que vous pouvez référencer à l’aide du champ valueFrom dans votre configuration app.yaml.

Exemple de configuration :

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

Utilisation de l’ID d’espace dans votre application :

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?"
)

Pour plus d’informations, consultez Les variables d’environnement Access à partir de ressources.

Supprimer une ressource Genie Space

Lorsque vous supprimez une ressource Genie Space d’une application, le principal de service de l’application perd l’accès à l’espace. L’espace Génie lui-même reste inchangé et continue d’être disponible pour d’autres utilisateurs et applications disposant d’autorisations appropriées.

Combiner Genie Spaces avec d’autres ressources d’application

Combinez Genie Spaces avec d’autres ressources Databricks Apps pour créer des applications de données plus sophistiquées. Les modèles d’intégration courants sont les suivants :

Tableau de bord d’analytique du langage naturel

Utilisez les ressources suivantes ensemble pour exécuter des analyses interactives :

  • Genie Space : Convertit les questions utilisateur en requêtes SQL
  • SQL Warehouse : Exécute les requêtes et retourne des résultats pour la visualisation
  • Secrets: Stocke les clés API pour les outils de visualisation externes

Exemple de configuration :

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

Intelligence décisionnelle améliorée par l’IA

Utilisez les ressources suivantes pour intégrer des modèles IA :

  • Genie Space : Génère le contexte initial de requête et de données
  • Interface de service de modèle : Fournit des résumés et des recommandations générés par l’IA
  • SQL Warehouse : Exécute des requêtes analytiques complexes

Autorisations du principal de service

Accordez au principal de service de votre application les autorisations suivantes lors de l’intégration avec d’autres ressources d’application :

  • CAN RUN sur l'espace Genie
  • CAN USE sur l’entrepôt SQL (si vous en utilisez un autre que celui de l’espace Genie)
  • CAN QUERY sur les endpoints du service de modèle
  • USE CATALOG et USE SCHEMA sur les objets de catalogue Unity pertinents
  • SELECT sur les tables que l'application interroge directement

Meilleures pratiques

Suivez ces bonnes pratiques lorsque vous travaillez avec les ressources Genie Space :

  • Accordez des autorisations minimales. Fournissez uniquement l’accès aux espaces Génie spécifiques dont votre application a besoin pour fonctionner.
  • Assurez-vous que l’espace Génie contient des jeux de données et des métadonnées bien organisés pour améliorer la qualité des réponses aux requêtes en langage naturel.
  • Testez les requêtes de votre application sur l’espace Génie pour vérifier qu’elle peut générer des résultats précis pour les questions utilisateur attendues.
  • Surveillez les performances des requêtes et ajustez les modèles d’interaction de votre application avec l’espace Génie pour optimiser les temps de réponse.
  • Implémentez la gestion des erreurs pour les cas où l’espace Génie ne peut pas interpréter ou répondre efficacement aux requêtes utilisateur.