メインコンテンツまでスキップ

Genieスペース リソースをDatabricksアプリに追加する

アプリケーションで自然言語クエリを有効にするために、Databricks Apps リソースとしてAI/BI Genie spacesを追加します。Genie spaces は、データ探索のための会話型インターフェイスを提供し、ユーザーが平易な英語でビジネス上の質問をし、キュレーションされたデータセットからSQLベースの知見を受け取ることができます。

Genieスペースをリソースとして追加すると、アプリで次のことができます。

  • ユーザーからの自然言語クエリをSQLに変換する
  • 事前構成されたビジネスコンテキストとメタデータへのアクセス
  • キュレーションされたサンプル クエリとデータ定義を使用する
  • 組織のデータセットに基づいて応答を生成する

Genieを追加する スペース リソース

Genieスペースをアプリとして追加する前に、リソースの前提条件を確認してください。

  1. アプリを作成または編集するときに、[ アプリ リソース ] セクションで、[ + リソースの追加 ] をクリックします。

  2. リソースの種類として Genieスペース を選択します。

  3. ワークスペースで使用可能なスペースのリストから Genieスペースを選択します。

  4. アプリの権限レベルを選択します。

    • 表示できます: Genieスペースの構成とメタデータを読み取る権限をアプリに付与します。
    • 実行できる: Genieスペースにクエリを送信し、応答を受信する権限をアプリに付与します。
    • 編集可能: Genieスペース構成を変更する権限をアプリに付与します。
    • 管理 できるもの: アプリにGenieスペースへの完全な管理アクセス権を付与します。
  5. (オプション)カスタム リソース キーを指定すると、アプリ構成で Genieスペースを参照できます。 デフォルトのキーは genie-spaceです。

Genieスペースリソースを追加すると、次のようになります。

  • Databricks は、アプリの サービスプリンシパル に、選択した Genieスペースに対する指定された権限を付与します。
  • アプリは、自然言語クエリをスペースに送信し、SQL クエリと結果を含む構造化された応答を受け取ることができます。
  • アプリは、メタデータ、サンプルクエリ、データ定義など、スペースのキュレーションされたビジネスコンテキストにアクセスします。
  • アクセスのスコープは、選択したスペースのみに限定されます。アプリは、他の Genie spaces を別のリソースとして追加しない限りアクセスできません。
注記

アプリのサービスプリンシパルには、 Genieスペースがクエリする基になるデータソースに対する適切なアクセス許可も必要です。 これには通常、関連する Unity Catalog テーブルとビューに対する USE CATALOGUSE SCHEMASELECT のアクセス許可が含まれます。

環境変数

Genieスペース リソースを使用してアプリをデプロイすると、Databricks は、app.yaml設定の valueFrom フィールドを使用して参照できる環境変数を介してスペース ID を公開します。

構成例:

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

アプリケーションでスペース ID を使用する:

Python
import os
from databricks.genie import GenieClient

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

# Submit a natural language query
response = genie_client.query(
space_id=space_id,
query="What were our top-selling products last quarter?"
)

詳細については、 リソースから環境変数にアクセスするを参照してください。

Genieスペースリソースを削除する

アプリから Genieスペースリソースを削除すると、アプリのサービスプリンシパルはスペースにアクセスできなくなります。 Genieスペース自体は変更されず、適切な権限を持つ他のユーザーやアプリケーションが引き続き使用できます。

Genie spacesを他のアプリと組み合わせるリソース

Genie spacesを他のDatabricksアプリと組み合わせて、より洗練されたデータアプリケーションを作成します。一般的な統合パターンには、次のものがあります。

自然言語アナリティクスダッシュボード

次のリソースを一緒に使用して、 実行 インタラクティブ アナリティクス:

  • Genieスペース: ユーザーの質問をSQLクエリに変換します
  • SQLウェアハウス: クエリを実行し、視覚化のために結果を返します
  • 秘密: 外部視覚化ツールの API キーを格納します

構成例:

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

AIで強化されたビジネスインテリジェンス

次のリソースを使用して、AI モデルと統合します。

  • Genieスペース: 初期クエリとデータコンテキストを生成します
  • モデルサービングエンドポイント: 生成された概要と推奨事項 AI返します
  • SQLウェアハウス: 実行複雑な分析クエリ

サービスプリンシパル permissions

アプリのサービスプリンシパルに、他のアプリと統合する場合に次の権限を付与します リソース:

  • CAN RUN Genieスペースで
  • CAN USE SQLウェアハウスで(Genieスペースとは別のものを使用している場合)
  • CAN QUERY モデルサービングエンドポイント
  • USE CATALOG 関連する Unity Catalog オブジェクトのUSE SCHEMA
  • SELECT テーブルでは、アプリが直接クエリを実行します

ベストプラクティス

Genieスペース リソースを使用する場合は、次のベスト プラクティスに従ってください。

  • 最小限の権限を付与します。アプリが機能するために必要な特定の Genie spaces へのアクセスのみを提供します。
  • 自然言語クエリ応答の品質を向上させるために、 Genieスペースに適切にキュレーションされたデータセットとメタデータが含まれていることを確認してください。
  • アプリのクエリを Genieスペースに対してテストし、予想されるユーザーの質問に対して正確な結果を生成できることを検証します。
  • クエリのパフォーマンスを監視し、 Genieスペースを使用してアプリの対話パターンを調整して、応答時間を最適化します。
  • Genieスペースがユーザーのクエリを効果的に解釈または応答できない場合にエラー処理を実装します。