AI/BI Genie スペースを操作する
重要
この機能はパブリック プレビュー段階にあります。 「AI/BI Genie スペースとは」を参照してください。
概要
データ アナリストなどの分野の専門家は、Genie スペースをデータセット、サンプル クエリ、テキスト ガイドラインを使って構成し、Genie がビジネスの質問を分析クエリに変換することを支援できます。 設定後、ビジネス ユーザーは質問をしたり、視覚化を生成したりして、オペレーショナル データを理解できます。 データが変化したり、ユーザーが新しい質問をしたりするたびに、Genie のセマンティック知識を継続的に更新できます。 DatabricksIQ の詳細については、「DatabricksIQ を利用した機能」を参照してください。
AI/BI Genie は、注釈付きテーブルと列から関連する名前と説明を選択して、自然言語の質問を同等の SQL クエリに変換します。 その後、可能であれば、生成されたクエリと結果テーブルで応答します。 Genie が回答を生成できない場合、応答を試みるためにフォローアップの質問をして明確にすることができます。
ユース ケースの例
異なる Genie スペースを作成して、さまざまな非技術的な対象ユーザーにサービスを提供できます。 以下のシナリオで、考えられる 2 つのユース ケースについて説明します。
例 1: 営業案件の状態の視覚化
営業マネージャーは、営業パイプラインの段階別に、進行中の案件と終了した案件の現在の状態を取得したいと考えています。 自然言語を使用して Genie スペースと対話し、視覚化を自動的に生成できます。
次の gif は、この対話を示しています。
例 2: ロジスティクスの追跡
ある物流会社は、Genie スペースを使用して、さまざまな部門のビジネス ユーザーが運用と財務の詳細を追跡できるようにしたいと考えています。 出荷施設のマネージャーが出荷を追跡するための Genie スペースを 1 つ設定し、もう 1 つは財務役員が財務の正常性を把握できるように設定しました。
技術的な要件と制限
Genie スペースを使用する場合は、次の要件と制限が適用されます。
- Unity カタログ: Genie スペースのデータを Unity カタログに登録する必要があります
- コンピューティング: プロまたはサーバーレスの SQL ウェアハウスを使用する必要があります。
- ワークスペースの容量: 各ワークスペースには、最大 1,000 の Genie スペースを含めることができます。
必要なアクセス許可
Genie スペースを作成、編集、使用するには、次のアクセス許可が必要です。
- コンピューティングのアクセス許可: Genie スペースの作成者、編集者、ユーザーは、スペースに指定された既定の SQL ウェアハウスへの CAN USE アクセスを必要とします。 スペースの作成時に、作成者は既定の SQL ウェアハウスを選択します。 作成者は、CAN RUN アクセス許可を持つ任意の SQL ウェアハウスを選択できます。
- データのアクセス許可: スペースを操作するすべてのユーザーには、スペースで使用されるデータに対する少なくとも
SELECT
特権が必要です。 - Genie スペース アクセス許可: ユーザーは、Genie とスペース内で使用されるデータと対話するために、Genie スペースに対する CAN RUN アクセス許可が必要です。 Genie スペースの権限と機能の完全なマッピングについては、「Genie スペース ACL」を参照してください。
Note
データとコンピューティング アクセスを構成するには、昇格されたアクセス許可 (通常は管理者に制限される) が必要です。 「SQL ウェアハウスの作成」および「Unity Catalog での権限の管理」を参照してください。
ワークスペースで Genie スペースを有効化
Note
この機能を有効にするには、管理者特権が必要です。
Genie は Azure AI 搭載の AI 機能を使用します。この AI 機能は、アカウント レベルおよび Genie スペースが作成されるワークスペースで有効にする必要があります。 Genie スペースを有効にするには、次の各設定を確認します。
- Azure AI サービスを利用する機能は、アカウント レベルで有効にする必要があります。 アカウント管理者は、次の手順でこの機能を有効にできます。
- [アカウント コンソール] サイドバーで、[設定] をクリックします。
- [機能の有効化] タブをクリックします。
- [Azure AI サービスを利用した機能の有効化] オプションをオンにします。
Azure AI サービスを利用した機能は、ワークスペース レベルで有効にする前に、アカウント レベルで有効にする必要があります。
ワークスペースに Azure AI サービスを利用した機能を有効にする必要があります。 ワークスペース管理者は、次の手順を実行してこの機能を有効にできます。
- ワークスペースにログインしてください。
- Azure Databricks ワークスペースの上部バーでユーザー名をクリックし、[設定] を選択します。
- [詳細] タブをクリックし、下にスクロールして [その他] セクションに移動します。
- [Azure AI サービスを利用した機能] オプションをオンにします。
Genie は、ワークスペースの [プレビュー] ページで有効にする必要があります。 ワークスペース管理者は、このプレビューを有効にすることができます。 「Azure Databricks プレビューを管理する」を参照してください。
新しい Genie スペースを作成する
ワークスペースで Genie スペースを有効にすると、データ アナリストは、次の手順を実行することで、ビジネス ユーザー向けにドメイン固有の Genie スペース エクスペリエンスを作成できます。
サイドバーの [Genie] をクリックします。
画面の右上隅にある [新規] をクリックします。
[新規] ダイアログで、初期設定を選択します。 オプションは次のように定義されています。
- タイトル: タイトルは、他のワークスペース オブジェクトと共にワークスペース ブラウザーに表示されます。 エンド ユーザーが Genie スペースを見つけやすくするタイトルを選択します。
- 説明: Genie スペースを開くとこの説明が表示されます。 このテキスト領域を使用して、スペースの目的を説明します。 説明フィールドでは、テキストのスタイルを設定したり、便利なコンテキストや参照へのリンクを指定したりできるように、Markdown の書式設定がサポートされています。 Markdown 構文の詳細については、このガイドを参照してください。
- 既定のウェアハウス: このコンピューティング リソースにより、Genie スペースで生成された SQL ステートメントが実行されます。 エンド ユーザーは、スペースと対話できるように、このウェアハウスにアクセスする必要があります。 Genie スペースでは、Pro または Serverless SQL ウェアハウスを使用できます。 最適なパフォーマンスを得るため、Databricks ではサーバーレス SQL ウェアハウスを使用することをお勧めします。
- テーブル: Genie スペースは、1 つ以上のテーブルに基づいて作成できます。 [テーブルの追加] ボタンをクリックすると、含める Unity Catalog テーブルを選択できる新しいダイアログが開きます。
- サンプルの質問: サンプルの質問は省略可能です。 ユーザーが質問できる質問の種類の例を提供するために、チャットに表示されます。 これらは、作成時または後でスペースの [設定] から追加できます。
どのようなデータを使用する必要がありますか?
1 つ以上の Unity Catalog のマネージド テーブルに基づいて、新しい Genie スペースを作成できます。 AI/BI Genie は、Unity Catalog のオブジェクトに添付されたメタデータを使って応答を生成します。 適切に注釈が付けられたデータセットと、指定した特定の手順を組み合わせることは、エンド ユーザーにとって肯定的なエクスペリエンスを作成するための鍵となります。
Databricks では次を行うことを推奨しています。
- 分析での利用向けにデータをキュレーションする: 列の数を減らすようにビューを階層化し、ユース ケース固有の情報を追加して応答品質を向上させます。
- Genie スペース内のテーブルと列の数を最小限に抑える: 特定のドメインの質問に回答するために必要なテーブルと列のみを取り込みます。 不要なテーブルや列があると、Genie がわかりにくい回答や間違った回答を提示したり、エラー メッセージを表示したりする可能性があります。
指示を提供する
指示は、特定のドメイン固有の専門用語、ロジック、概念を処理できるように、Genie の応答をガイドするのに役立ちます。 包括的な指示は、シームレスで直感的な Genie スペースのエクスペリエンスに不可欠です。 命令を入力するには、Genie スペースのサイド バーの [指示] をクリックし、指示ウィンドウを開きます。 このペインを使用して、一般的な命令、Example SQL クエリ、SQL Functions を追加します。
全般的な手順
Genie が従うビジネスまたは応答設定を明確に伝えるプレーンテキストの命令を提示します。 命令を 1 つの包括的なメモとして書式設定するか、トピック別に分類して整理を改善できます。
一般的な命令に含めることが可能な情報の例は、次のとおりです。
- 会社固有のビジネス情報
- "当社の会計年度は 2 月から始まります"
- 値、エイリアス、一般的なフィルター
- "フィルターを適用するときは、常に小文字に変換し、like 演算子を使用します"
- "フィルター値の州には省略形を使用します"
- 質問に答える関数を指定し、戻り値の命令を指定します
- "四半期については、
adventureworks.oneb.get_quarter(date)
UDF を使用します。get_quarter()
の出力は四半期を示し、1、2、3、4 のいずれかです。 これを使用して、必要に応じてデータをフィルター処理します。
- "四半期については、
SQL クエリの例
SQL クエリの例は、Genie のトレーニングに役立つ SQL クエリです。 質問に回答すると、Genie は関連するクエリをインテリジェントに選択して応答を生成します。 サンプル クエリを追加すると、データを使用して質問に回答する方法が Genie に効果的に示されます。 また、サンプルの質問を追加して、サンプル クエリで回答する必要がある質問の種類について Genie に教えることができます。 Genie が一致する質問を受け取った場合は、サンプル クエリを直接使用して回答を提供できます。 同様の質問が得られる場合は、クエリ例の手掛かりを使用して、応答で提供される SQL を構造化できます。 次の例のように、組織とデータに固有のロジックを強調するサンプルを提供することに重点を置きます。
-- Return our current total open pipeline by region.
-- Opportunities are only considered pipelines if they are tagged as such.
SELECT
a.region__c AS `Region`,
sum(o.amount) AS `Open Pipeline`
FROM
sales.crm.opportunity o
JOIN sales.crm.accounts a ON o.accountid = a.id
WHERE
o.forecastcategory = 'Pipeline' AND
o.stagename NOT ILIKE '%closed%'
GROUP BY ALL;
SQL クエリにパラメーターを追加する
パラメーターを使用すると、ランタイム時に置き換えられる特定の値のプレースホルダーを含むクエリの例を記述できます。 パラメーターを使用すると、ユーザーの質問から特定の入力を受け取ってクエリ例の構造を再利用し、検証済みの回答を信頼されたアセットとして提示できます。 たとえば、前の SQL クエリを調整し、o.forecastcategory
値でフィルター処理するパラメーターを含めることができます。これにより、クエリがさまざまな予測カテゴリでタグ付けされた営業案件に関する質問に対処できます。 パラメーター化クエリを使用して信頼されたアセットとしてラベル付けされた応答を生成する方法の詳細については、「AI/BI Genie スペースで信頼できるアセットの使用」を参照してください。
次のコード スニペットには、o.forecastcategory
値にパラメーターを追加して変更した前の例が示されています。 パラメーターは、名前付きパラメーター マーカーと同じ構文を使用します。 「名前付きパラメーター マーカー」を参照してください。
-- Return our current pipeline at a stage by region.
-- Opportunities are only considered pipelines if they are tagged as such.
SELECT
a.region__c AS `Region`,
sum(o.amount) AS `Open Pipeline`
FROM
sales.crm.opportunity o
JOIN sales.crm.accounts a ON o.accountid = a.id
WHERE
o.forecastcategory = :forecast_category AND
o.stagename NOT ILIKE '%closed%'
GROUP BY ALL;
クエリにパラメーターを追加するには、次の操作を行います。
パラメーターをクエリに配置する場所にカーソルを配置します。
新しいパラメーターを挿入するには、[パラメーターの追加] をクリックします。
これは、既定の名前の
parameter
を用いて新しいパラメーターを作成します。 既定の名前を変更するには、クエリ エディターでその名前を置き換えます。 エディターにコロンを入力してその後にパラメーター名 (:parameter_name
) を入力すると、パラメーターを追加することもできます。
クエリ パラメーターを編集する。
パラメーターを編集するには、次の手順を実行してください。
パラメーター名の横の をクリックします。 [パラメーターの詳細] ダイアログが表示され、次の構成オプションが記載されます。
キーワード: クエリ内のパラメーターを表すキーワード。 これは、クエリ内のテキストを直接更新することによってのみ変更できます。
表示名: Genie がチャット エクスペリエンスで使用する人間が判読できる名前。 Genie がパラメーター化クエリを使用して応答を生成すると、応答には表示名と関連付けられた値が含まれます。
型: String、Date、Date and Time、Numeric がサポートされています。
- 既定の型は String です。
- Numeric データ型では、Decimal と Integer の間を指定できます。 既定の数値型は Decimal です。
Note
実際の入力値が選択したパラメーターの型と一致しない場合、Genie は入力値を正しくない型として扱い、結果が不正確になることがあります。
ダイアログを閉じるには、UI の他の部分をクリックします。
SQL 関数
SQL 関数は、Unity Catalog に格納され、Genie が特定の質問に回答するために使用するカスタム関数です。 Genie はこれらの関数を呼び出してユーザー指定のパラメーターを挿入できますが、基になる SQL コンテンツにアクセスすることはできません。 つまり、SQL 関数は、Genie がアクセスしたり編集したりできない複雑な引数や計算を含む、一般的な特定の質問に回答するのに最適です。 Unity Catalog での関数の登録に関するガイダンスについては、「SQL テーブル関数の作成」および「Unity Catalog のユーザー定義関数 (UDF)」を参照してください。
信頼されたアセット
パラメーター化されたサンプルクエリまたは SQL 関数の正確なテキストを使用して応答を生成すると、Genie はその応答を 信頼されたアセットとしてマークします。。 信頼されたアセットは、結果の精度に保証レイヤーが追加されたことをスペース ユーザーに伝えるために用意されています。 「AI/BI Genie スペースで信頼されたアセットを使用する」を参照してください。
Genie スペースでチャットする
ほとんどの Genie スペースの対話はチャット ウィンドウで行われます。
新しいチャット ウィンドウには、厳選された一連のサンプル質問が含まれています。 これらのサンプルの質問は、ユーザーが Genie スペースでどのような質問をできるかを理解するのに役立ちます。 ユーザーが質問を入力するテキスト フィールドは、画面の下部付近にあります。
応答はテキスト フィールドの上に表示されます。 ユーザーが質問を入力すると、左側のウィンドウのチャット履歴スレッドに保存されます。
チャット履歴
チャット履歴スレッドは、過去の質問と回答を参照できるように、ユーザーごとに保存されます。 ユーザーは、チャット スレッドから質問を再送信または修正することもできます。 左側のウィンドウの [新しいチャット] ボタンをクリックすると、新しいスレッドが開始されます。
各チャット スレッドでは、質問された前の質問に関するコンテキストが維持されます。 これにより、ユーザーはフォローアップの質問をして、結果セットをさらに調査したり、再フォーカスしたりすることができます。
チャット履歴スレッドは無期限に保存され、スレッドまたは Genie 領域が削除されるまでアクセスできます。 CAN MANAGE 権限以上のユーザーは、領域内のすべてのチャットを表示できます。
応答構造
正確な応答構造は、質問によって異なります。 多くの場合、応答には自然言語の説明と、関連する結果セットを示すテーブルが含まれています。 すべての応答には、質問に回答するために生成された SQL クエリが含まれます。 [Show generated code] (生成されたコードを表示) をクリックして、生成されたクエリを表示できます。
応答の下にある一連のボタンを使用すると、さまざまなアクションを実行できます。 応答の品質を示すためにアップ投票またはダウン投票を行ったり、Genie 領域で CAN EDIT 権限以上のユーザーによるレビューを要求したりできます。 追加のオプションには、応答を命令として追加する、応答を再生成する、回答で結果セットを生成するために使用する SQL コードの表示などがあります。
一連のクイック アクションタイルが、表形式データを含む応答に続きます。 これらを使用して視覚化を生成できます。
クエリ結果を取得した後に、言葉で説明して視覚エフェクトを生成することもできます。
フォーマットの結果
応答内のテーブル内の列を書式設定するには、列ヘッダーの kebab メニューをクリックし、 Format をクリックして使用可能なオプションを表示します。 書式設定オプションは、列のデータ型によって異なります。
結果セットをダウンロードする
スペース ユーザーは、最大約 1 GB の結果データを CSV としてダウンロードできます。 最終的なファイル ダウンロードよりも前の手順に 1 GB の制限が適用されるため、最終的なファイル ダウンロード サイズは 1 GB よりも多少増減する場合があります。 結果をダウンロードするには、応答のダウンロード アイコンをクリックします。
応答のフィードバックを提供する
AI/BI Genie の各応答には、サムアップまたはサムダウンのフィードバック ボタンが含まれます。 Databricks では、このメカニズムを使ってスペースに関するフィードバックを提供するようユーザーに促すことが推奨されています。
クエリ結果を含む応答の場合、ユーザーはをクリックして、Genie スペース エディターでレビューすることを要求できます。 生成された応答の品質または精度に関する質問がある場合は、レビュー用にマークし、必要に応じてコメントまたは質問を追加できます。
ビジネス ユーザーは、履歴ページで、レビュー対象としてマークした質問の更新を表示できます。 Genie スペースに対して少なくとも管理可能アクセス許可を持つユーザーは、特定の交換をレビューし、要求にコメントし、応答を確認または修正できます。 モニタリング ページでフィードバックにアクセスし、要求を確認できます。 次に、フィードバックを使用して応答を調整し、スペースを反復処理できます。 「履歴とフィードバックのレビュー」を参照してください。
履歴とフィードバックをレビューする
Genie スペースは、データ チームとビジネス ユーザーが 1 回限りのデプロイではなく、知識を蓄積するための継続的なコラボレーション ツールであることを目的としています。 ビジネス ユーザーが回答を必要としている新しい質問を理解することは、知識構築に不可欠です。 履歴ページでは、個々の質問と回答、ユーザーが提供したサムアップまたはサムダウンのフィードバック、レビュー用にマークされた質問を表示できます。 履歴ページを開くには、Genie スペース サイドバーの[履歴]をクリックします。
履歴ページには、スペース内で行われたすべての質問と回答が表示されます。 質問は、時間、評価、ユーザー、または状態でフィルター処理できます。 Genie のスペース エディターはスペースを監視することにより、ビジネス ユーザーから出されたクエリと、Genie スペースがそれにどのように応答したかを積極的に理解できます。
Genie が苦労している質問を特定することで、Genie スペースを特定の指示に更新して応答を改善できます。 質問をクリックして、質問と回答のテキストを開きます。 このビューから完全なチャット スレッドにアクセスすることもできます。
生成された SQL を編集する
任意の応答で生成された SQL を確認して編集できます。 Genie スペースの作成者は通常、ドメインとデータのことを知っているため、Genie が誤った回答を生成しているかどうかを認識できます。 多くの場合、生成された SQL クエリを手で少し調整してエラーを修正できます。 応答に対して生成された SQL を表示するには、[生成されたコードの表示] をクリックしてクエリを検査します。
Genie スペースに対する CAN EDIT 以上の特権がある場合、生成された SQL ステートメントを編集して修正できます。 修正したら、クエリを実行します。 その後、それを指示として保存し、将来 Genie に回答方法を教えることができます。 編集したクエリを保存するには、 [指示として保存] をクリックします。
ベンチマークを使用して応答を評価する
ベンチマークを使用すると、Genie スペースでの個々の応答のテストと評価をスケールアップできます。 指示とは異なり、ベンチマークは情報提供のためではなく、Genie スペースを評価するためのものです。 Genie では、Genie のコンテキストを改善するためにベンチマークの質問や SQL の例を使用しません。
ベンチマークを使用すると、テスト質問のコレクションを実行し、応答を使用して Genie の精度を測定できます。 必要に応じて、期待される結果を返す SQL ステートメントを含めることができます。 ベンチマークの質問が実行されると、Genie の応答は SQL ステートメントによって提供された結果と比較され、精度のスコアが付けられます。 SQL 回答が指定されていない場合、質問はレビュー対象としてマークされます。
「Genie スペースでベンチマークを使用する」をご覧ください。
Genie スペースを共有する
重要
Genie スペースのユーザーは、自分の認証情報を使用してデータにアクセスする必要があります。 アクセスできないデータに関する質問に対しては、空の応答が生成されます。
Genie スペースのユーザーは、Genie スペースに接続されているウェアハウスに対する CAN USE アクセス許可と、スペース内に表示される Unity Catalog オブジェクトに対するアクセス許可を持っている必要があります。 「どのようなデータを使用する必要がありますか?」を参照してください。
新しい Genie スペースは、既定でユーザー フォルダーに保存されます。 他のワークスペース オブジェクトと同様に、外側のフォルダーからアクセス許可を継承します。 ワークスペース フォルダー構造を使用して、他のユーザーと共有できます。 「ワークスペース オブジェクトをフォルダーに整理する」を参照してください。
また、特定のアクセス許可レベル (管理可能、編集可能、実行可能、表示可能) を使って、共有する特定のユーザーまたはグループを指定することもできます。
特定のユーザーやグループと共有するには、次のようにします。
- [共有] をクリックします。
- スペースを共有するユーザーまたはグループを入力します。 それから、[追加] をクリックして、適切なアクセス許可レベルを設定します。
- [共有] ダイアログの下部にある [リンクのコピー] ボタンを使って、Genie スペースへの共有可能なリンクを取得します。 特権ユーザーは、リンクをクリックして新しいタブで Genie スペースを開き、質問することができます。
Genie スペースを複製する
Genie スペースをクローンすると、すべてのセットアップ コンテキストと指示を含むコピーが作成されます。 クローンは、十分に開発されたスペースがあり、追加のテスト用に新しいスペースを作成する場合や、元のスペースのコンテキストを再利用する場合に便利です。 スペースが複製された後、新しいスペースは元のスペースから独立しているため、元のスペースに影響を与えることなく編集や調整ができます。
次の要素は、複製した Genie スペースにコピーされます。
- テーブルと設定
- 全般的な手順
- SQL クエリの例
- SQL 関数
既存のチャット スレッドと履歴データは、新しいスペースにコピーされません。
Genie スペースを複製するには、次の操作を行います。
- クローンする Genie スペースを開きます。
- スペースの右上隅にある ケバブ メニューをクリックします。
- [複製] をクリックします。
- (省略可能) [複製] ダイアログで、クローンした Genie スペースの新しい名前とワークスペース フォルダーの場所を指定します。
- [複製] をクリックして新しいスペースを作成します。
プライバシーとセキュリティ
Q: Genie はどのようなモデルを使用していますか?
Genie は Azure OpenAI モデルを使用します。
Q: モデルに送信されているデータは何ですか?
Genie スペースは、メタデータと命令を使用して自然言語の質問に対する応答を生成します。 Genie は行レベルのデータにアクセスできません。
Genie は応答を処理するために、次のコマンドを使用します。
- ユーザーによって送信された自然言語プロンプト
- テーブル名と説明
- 列のタイトルと説明
- 全般的な手順
- SQL クエリの例
- SQL 関数
Q: Azure OpenAI は自分のデータを収集しますか?
いいえ。 Databricks は、Azure OpenAI サービスに送信されたプロンプトと完了を Microsoft が保存しない、不正使用の監視とヒューマン レビュー プログラムの除外を選択しました。 詳細については、 Microsoft のドキュメントを参照してください。
スペースの準備に関するベスト プラクティス
- 構築する前に、スペース ユーザーが回答できるように明確に定義された質問のセットを確立します。
- Genie スペースをテストして、応答の品質を確認します。 モデルが期待される応答を提供するかどうかを確認するために、以下を試してください。
- 用意された質問を言い換えます。
- データセットに関連するその他の質問をします。
- 質問で期待される回答が得られるまで、Genie スペースの指示を追加して改良します。
問題のトラブルシューティングに関するベスト プラクティスとヘルプの詳細なガイダンスについては、「効果的な Genie スペースのキュレーション」を参照してください。