Genieスペース リソースをDatabricksアプリに追加する
アプリケーションで自然言語クエリを有効にするために、Databricks Apps リソースとしてAI/BI Genie spacesを追加します。Genie spaces は、データ探索のための会話型インターフェイスを提供し、ユーザーが平易な英語でビジネス上の質問をし、キュレーションされたデータセットからSQLベースの知見を受け取ることができます。
Genieスペースをリソースとして追加すると、アプリで次のことができます。
- ユーザーからの自然言語クエリをSQLに変換する
- 事前構成されたビジネスコンテキストとメタデータへのアクセス
- キュレーションされたサンプル クエリとデータ定義を使用する
- 組織のデータセットに基づいて応答を生成する
Genieを追加する スペース リソース
Genieスペースをアプリとして追加する前に、リソースの前提条件を確認してください。
-
アプリを作成または編集するときに、[ アプリ リソース ] セクションで、[ + リソースの追加 ] をクリックします。
-
リソースの種類として Genieスペース を選択します。
-
ワークスペースで使用可能なスペースのリストから Genieスペースを選択します。
-
アプリの権限レベルを選択します。
- 表示できます: Genieスペースの構成とメタデータを読み取る権限をアプリに付与します。
- 実行できる: Genieスペースにクエリを送信し、応答を受信する権限をアプリに付与します。
- 編集可能: Genieスペース構成を変更する権限をアプリに付与します。
- 管理 できるもの: アプリにGenieスペースへの完全な管理アクセス権を付与します。
-
(オプション)カスタム リソース キーを指定すると、アプリ構成で Genieスペースを参照できます。 デフォルトのキーは
genie-space
です。
Genieスペースリソースを追加すると、次のようになります。
- Databricks は、アプリの サービスプリンシパル に、選択した Genieスペースに対する指定された権限を付与します。
- アプリは、自然言語クエリをスペースに送信し、SQL クエリと結果を含む構造化された応答を受け取ることができます。
- アプリは、メタデータ、サンプルクエリ、データ定義など、スペースのキュレーションされたビジネスコンテキストにアクセスします。
- アクセスのスコープは、選択したスペースのみに限定されます。アプリは、他の Genie spaces を別のリソースとして追加しない限りアクセスできません。
アプリのサービスプリンシパルには、 Genieスペースがクエリする基になるデータソースに対する適切なアクセス許可も必要です。 これには通常、関連する Unity Catalog テーブルとビューに対する USE CATALOG
、 USE SCHEMA
、 SELECT
のアクセス許可が含まれます。
環境変数
Genieスペース リソースを使用してアプリをデプロイすると、Databricks は、app.yaml
設定の valueFrom
フィールドを使用して参照できる環境変数を介してスペース ID を公開します。
構成例:
env:
- name: GENIE_SPACE_ID
valueFrom:
resourceKey: genie-space # Use your custom resource key if different
アプリケーションでスペース ID を使用する:
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 キーを格納します
構成例:
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スペースがユーザーのクエリを効果的に解釈または応答できない場合にエラー処理を実装します。