Microsoft Fabric のデータ エージェントを使用すると、レイクハウス、ウェアハウス、Power BI セマンティック モデル、Fabric の KQL データベースに格納されているデータに関する質問に回答する会話型 AI エクスペリエンスを作成できます。 データ分析情報にアクセスできるようになります。 同僚は、AI の専門家でなくても、またはデータに深く精通していない場合でも、プレーンな英語で質問し、データドリブンの回答を受け取ることができます。
重要
この機能は プレビュー段階です。
前提条件
- 有料の P SKU 以上のファブリック容量リソース
- ファブリック データ エージェントのテナント設定 が有効になっています。
- Copilot テナント スイッチ が有効になっています。
- AI のクロス geo 処理 が有効になっています。
- AI の地域間ストレージ が有効になっています。
- データを含む、ウェアハウス、レイクハウス、1 つ以上の Power BI セマンティック モデル、または KQL データベースのうち少なくとも 1 つ。
- Power BI セマンティック モデルのデータ ソースでは、XMLA エンドポイントテナントスイッチを介した Power BI セマンティック モデルが有効になります。
Fabric データ エージェントを作成して使用するためのエンド ツー エンド フロー
このセクションでは、Fabric で Fabric データ エージェントを作成、検証、共有し、使用できるようにする主な手順について説明します。
このプロセスは単純であり、数分で Fabric データ エージェント リソースのテストを始められます。
新しい Fabric データ エージェントを作成する
新しい Fabric データ エージェントを作成するには、まずワークスペースに移動し、[ + 新しい項目] ボタンを選択します。 [すべての項目] タブで、次のスクリーンショットに示すように、 Fabric データ エージェント を検索して適切なオプションを見つけます。
選択すると、次のスクリーンショットに示すように、Fabric データ エージェントの名前を指定するように求められます。
Fabric データ エージェントの名前を指定する方法を視覚的に確認するには、提供されているスクリーンショットを参照してください。 名前を入力したら、構成に進み、Fabric データ エージェントを特定の要件に合わせます。
データを選択する
Fabric データ エージェントを作成した後は、レイクハウス、ウェアハウス、Power BI セマンティック モデル、KQL データベースなど、最大 5 つのデータ ソースを任意の組み合わせで追加できます。 たとえば、5 つの Power BI セマンティック モデル、または 2 つの Power BI セマンティック モデル、1 つの lakehouse、1 つの KQL データベースを追加できます。
初めて Fabric データ エージェントを作成する場合は、名前を指定する際に OneLake カタログが自動的に表示され、ここからデータ ソースを追加できます。 データ ソースを追加するには、次の画面に示すようにカタログからデータ ソースを選択し、[ 追加] を選択します。 各データ ソースを個別に追加する必要があります。 たとえば、レイクハウスを追加し、[ 追加] を選択して、別のデータ ソースの追加に進むことができます。 データ ソースの種類をフィルター処理するには、フィルター アイコンを選択し、目的の種類を選択します。 選択した種類のデータ ソースのみを表示できるため、Fabric データ エージェントに適したソースを簡単に見つけてアクセスできます。
データ ソースを追加すると、Fabric データ エージェント ページの左側のウィンドウにある エクスプローラー に、選択した各データ ソースの使用可能なテーブルが表示されます。ここで、次のスクリーンショットに示すように、チェックボックスを使用して、AI でテーブルを使用したり使用できないようにしたりできます。
注
Power BI セマンティック モデルをデータ ソースとして Fabric データ エージェントに追加するには、読み取り/書き込みのアクセス許可が必要です。
データ ソースを追加するには、次のスクリーンショットに示すように、Fabric データ エージェント ページの左側のウィンドウにある エクスプローラー に移動し、[ + データ ソース] を選択します。
OneLake カタログが再び開き、必要に応じてさらにデータ ソースをシームレスに追加できます。
ヒント
テーブルと列の両方にわかりやすい名前を使用してください。
SalesData
という名前のテーブルは TableA
よりも意味があり、ActiveCustomer
や IsCustomerActive
などの列名は C1
や ActCu
よりも明確です。 わかりやすい名前は、AI がより正確で信頼性の高いクエリを生成するのに役立ちます。
質問する
データ ソースを追加し、各データ ソースの関連テーブルを選択したら、質問を開始できます。 システムは、次のスクリーンショットに示すように質問を処理します。
次の例のような質問も機能します。
- "2023 年のカリフォルニアでの売上合計はどれくらいですか?"
- 「定価が最も高い上位 5 つの製品と、そのカテゴリは何ですか?
- "一度も売れたことのない品目で最も高価なものは何ですか?"
このような質問は、システムが構造化クエリ (T-SQL、DAX、または KQL) に変換し、データベースに対して実行し、格納されたデータに基づいて具体的な回答を返すことができるためです。
ただし、次のような質問は対象外です。
- "2024 年第 2 四半期に工場の生産性が低下しているのはなぜですか?"
- "売上が急増している根本原因は何ですか?"
これらの質問は、データベースで直接使用できない複雑な推論、相関分析、または外部要因を必要とするため、現在は範囲外です。 現在、Fabric データ エージェントは、高度な分析、機械学習、因果推論を実行しません。 ユーザーのクエリに基づいて構造化データを取得して処理するだけです。
質問すると、Fabric データ エージェントは Azure OpenAI Assistant API を使用して要求を処理します。 フローは次の方法で動作します。
ユーザーの資格情報を使用してスキーマにアクセスする
システムはまず、ユーザーの資格情報を使用してデータ ソースのスキーマ (lakehouse、warehouse、PBI セマンティック モデル、KQL データベースなど) にアクセスします。 これにより、ユーザーが閲覧権限を持つデータ構造情報がシステムによって取得されます。
プロンプトの作成
ユーザーの質問を解釈するために、システムは次を組み合わせます。
- ユーザー クエリ: ユーザーが提供する自然言語の質問。
- スキーマ情報: 前の手順で取得したデータ ソースのメタデータと構造の詳細。
- 例と指示: 定義済みの例 (サンプルの質問と回答など) または Fabric データ エージェントのセットアップ時に提供される具体的な指示。 これらの例と手順は、AI の質問に対する理解を改善し、AI がデータと対話する方法をガイドするのに役立ちます。
この情報はすべて、プロンプトを作成するために使用されます。 このプロンプトは、Fabric データ エージェントの基になるエージェントとして動作する Azure OpenAI Assistant API への入力として機能します。 これは基本的に、クエリをどのように処理し、どのような種類の回答を生成するかについて Fabric データ エージェントに指示します。
クエリのニーズに基づくツールの呼び出し
エージェントは、構築されたプロンプトを分析し、呼び出して回答を取得するツールを決定します。
- SQL への自然言語 (NL2SQL): データがレイクハウスまたはウェアハウスに存在する場合に SQL クエリを生成するために使用されます
- 自然言語から DAX (NL2DAX): Power BI データ ソースでセマンティック モデルを操作するための DAX クエリを作成するために使用されます
- 自然言語から KQL (NL2KQL): KQL データベース内のデータにクエリを実行する KQL クエリを構築するために使用されます
選択したツールは、Fabric データ エージェントの基になるエージェントが提供するスキーマ、メタデータ、コンテキストを使用してクエリを生成します。 その後、ツールはクエリを検証し、セキュリティ プロトコルと独自の責任ある AI (RAI) ポリシーに対する適切な書式設定とコンプライアンスを確保します。
応答の構築
Fabric データ エージェントの基になるエージェントはクエリを実行し、応答が適切に構造化され、書式設定されていることを確認します。 エージェントには、多くの場合、回答をわかりやすいものにするために追加のコンテキストが含まれています。 最後に、次のスクリーンショットに示すように、回答が会話インターフェイスでユーザーに表示されます。
エージェントは、結果と、最終的な回答を得るために実行した中間ステップを提示します。 このアプローチにより、透明性が向上し、必要に応じてこれらの手順を検証できます。 次のスクリーンショットに示すように、ユーザーは手順のドロップダウンを展開して、Fabric データ エージェントが回答を得るために実行したすべての手順を表示できます。
さらに、Fabric データ エージェントは、対応するデータ ソースのクエリに使用される生成されたコードを提供し、応答がどのように構築されたかについての詳細な分析情報を提供します。
これらのクエリは、データのクエリ専用に設計されています。 関連する操作
- データの作成
- データの更新
- データの削除
- 任意の種類のデータ変更
データの整合性を保護するため、これらは許可されていません。
次のスクリーンショットに示すように、いつでも [ チャットのクリア ] ボタンを選択してチャットをクリアできます。
チャットのクリア機能は、すべてのチャット履歴を消去し、新しいセッションを開始します。 チャット履歴を削除すると、その履歴を取得することはできません。
データ ソースを変更する
データ ソースを削除するには、3 点メニューが表示されるまで、Fabric データ エージェント ページの左側のウィンドウにある エクスプローラー でデータ ソース名をポイントします。 3 つのドットを選択してオプションを表示し、次のスクリーンショットに示すように [削除 ] を選択してデータ ソースを削除します。
または、データ ソースが変更された場合は、次のスクリーンショットに示すように、同じメニュー内で [最新の情報に更新 ] を選択できます。
これにより、すべてのデータ ソースの更新がエクスプローラーに反映されて正しく設定され、Fabric データ エージェントが最新データと同期されます。
Fabric データ エージェントの構成
Fabric データ エージェントには、組織のニーズに合わせて Fabric データ エージェントの動作をカスタマイズできる構成オプションがいくつか用意されています。 Fabric データ エージェントがデータを処理して提示する際に、これらの構成が柔軟性を発揮し、結果をより詳細に制御できます。
指示を提供する
AI の動作をガイドするための具体的な手順を指定できます。 [Fabric データ エージェントの指示] ウィンドウで追加するには、次のスクリーンショットに示すように [データ エージェントの指示 ] を選択します。
ここでは、クエリの処理方法について AI に指示するために、英語のプレーンテキストで最大 15,000 文字を記述できます。
たとえば、特定の種類の質問に使用する正確なデータ ソースを指定できます。 データ ソースの選択肢の例として、AI に使用を指示する方法が含まれる場合があります
- 財務クエリ用の Power BI セマンティック モデル
- 販売データ用のレイクハウス
- 運用メトリック用の KQL データベース
これらの手順により、ガイダンスと質問のコンテキストに基づいて、SQL、DAX、KQL のいずれであっても、AI によって適切なクエリが生成されます。
AI リソースで特定の単語、頭字語、または用語の解釈が一貫して間違っている場合は、このセクションで明確な定義を指定して、AI がそれらを正しく理解して処理できるようにすることができます。 これは、ドメイン固有の用語や一意のビジネス用語に特に役立ちます。
これらの手順を調整し、用語を定義することで、データ戦略とビジネス要件に完全に合わせて、正確で関連性の高い分析情報を提供する AI の能力を強化します。
クエリの例を指定する
レイクハウス、ウェアハウス、KQL データベースなどのデータ ソースに合わせて調整されたサンプル クエリを提供すると、Fabric データ エージェントの応答の精度を高めることができます。 このアプローチは、ジェネレーティブ AI の Few-Shot 学習 と呼ばれ、Fabric データ エージェントをガイドして、期待に沿った応答を生成するのに役立ちます。
サンプルクエリ/質問ペアを AI に提供すると、将来の質問に回答するときにこれらの例が参照されます。 新しいクエリを最も関連性の高い例と照合することで、AI はビジネス固有のロジックを組み込み、よく寄せられる質問に効果的に対応できます。 この機能により、個々のデータ ソースの微調整が可能になり、より正確な SQL または KQL クエリが生成されます。
現時点では、Power BI セマンティック モデル データでは、サンプル クエリと質問のペアの追加はサポートされていません。 ただし、lakehouse、warehouse、KQL データベースなどのサポートされているデータ ソースでは、より多くの例を提供することで、既定のパフォーマンスに調整が必要な場合に正確なクエリを生成する AI の能力を大幅に向上させることができます。
ヒント
さまざまなサンプル クエリのセットにより、Fabric データ エージェントの機能が強化され、正確で関連性の高い SQL/KQL クエリが生成されるようになります。
クエリの例を追加または編集するには、次のスクリーンショットに示すように、[ クエリの例 ] ボタンを選択してクエリの例ペインを開きます。
このウィンドウには、Power BI セマンティック モデルを除く、サポートされているすべてのデータ ソースのクエリ例を追加または編集するためのオプションが用意されています。 次のスクリーンショットに示すように、データ ソースごとに [サンプル クエリの追加] または [サンプル クエリの編集] を選択して、関連する例を入力できます。
注
Fabric データ エージェントは、有効な SQL/KQL 構文を含み、選択したテーブルのスキーマと一致するクエリのみを参照します。 Fabric データ エージェントは、検証が完了していないクエリを使用しません。 すべてのサンプル クエリが有効であり、スキーマと正しく一致していることを確認して、Fabric データ エージェントがそれらを効果的に利用できるようにします。
Fabric データ エージェントを公開して共有する
さまざまな質問で Fabric データ エージェントのパフォーマンスをテストし、正確な SQL、DAX、または KQL クエリが生成されることを確認したら、同僚と共有できます。 その時点で、次のスクリーンショットに示すように [ 発行] を選択します。
この手順では、Fabric データ エージェントの説明を求めるウィンドウが開きます。 ここに、Fabric データ エージェントが何を実行するかについて詳しい説明を入力します。 この詳細情報が、Fabric データ エージェントの機能を同僚に伝えるものとなり、他の AI システムやオーケストレーターが Fabric データ エージェントを効果的に呼び出すのを支援します。
Fabric データ エージェントを公開すると、2 つのバージョンができます。 1 つのバージョンが現在のドラフト バージョンであり、引き続き改良および改善できます。 2 番目のバージョンは公開済みバージョンです。このバージョンは、Fabric データ エージェントに対してクエリを実行し、質問への回答を得たい同僚と共有できます。 開発時に同僚からのフィードバックを現在のドラフト バージョンに組み込んで、Fabric データ エージェントのパフォーマンスをさらに向上させることができます。